From 4b601f9d3386da27b233135b7516d1ca4a871ac3 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Mon, 19 Sep 2016 21:39:04 +0000 Subject: Add .align before pushing PC; change some bl to blx --- thumb2ap.s | 58 ++++++++++++++++++++++++++++++++++ thumb2compact.s | 6 ++++ thumb2compact_rmark.s | 3 ++ thumb2compact_rmarkr.s | 1 + thumb2mark.s | 9 ++++++ thumb2startup.s | 84 +++++++++++++++++++++++++++++++++++++++++++++----- 6 files changed, 154 insertions(+), 7 deletions(-) diff --git a/thumb2ap.s b/thumb2ap.s index 530c258..8127222 100644 --- a/thumb2ap.s +++ b/thumb2ap.s @@ -599,6 +599,7 @@ repl_args_5: no_fast_ap32: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -613,6 +614,7 @@ no_fast_ap32: no_fast_ap31: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -627,6 +629,7 @@ no_fast_ap31: no_fast_ap30: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -641,6 +644,7 @@ no_fast_ap30: no_fast_ap29: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -655,6 +659,7 @@ no_fast_ap29: no_fast_ap28: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -669,6 +674,7 @@ no_fast_ap28: no_fast_ap27: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -683,6 +689,7 @@ no_fast_ap27: no_fast_ap26: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -697,6 +704,7 @@ no_fast_ap26: no_fast_ap25: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -711,6 +719,7 @@ no_fast_ap25: no_fast_ap24: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -725,6 +734,7 @@ no_fast_ap24: no_fast_ap23: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -739,6 +749,7 @@ no_fast_ap23: no_fast_ap22: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -753,6 +764,7 @@ no_fast_ap22: no_fast_ap21: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -767,6 +779,7 @@ no_fast_ap21: no_fast_ap20: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -781,6 +794,7 @@ no_fast_ap20: no_fast_ap19: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -795,6 +809,7 @@ no_fast_ap19: no_fast_ap18: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -809,6 +824,7 @@ no_fast_ap18: no_fast_ap17: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -823,6 +839,7 @@ no_fast_ap17: no_fast_ap16: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -837,6 +854,7 @@ no_fast_ap16: no_fast_ap15: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -851,6 +869,7 @@ no_fast_ap15: no_fast_ap14: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -865,6 +884,7 @@ no_fast_ap14: no_fast_ap13: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -879,6 +899,7 @@ no_fast_ap13: no_fast_ap12: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -893,6 +914,7 @@ no_fast_ap12: no_fast_ap11: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -907,6 +929,7 @@ no_fast_ap11: no_fast_ap10: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -921,6 +944,7 @@ no_fast_ap10: no_fast_ap9: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -935,6 +959,7 @@ no_fast_ap9: no_fast_ap8: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -949,6 +974,7 @@ no_fast_ap8: no_fast_ap7: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -963,6 +989,7 @@ no_fast_ap7: no_fast_ap6: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -977,6 +1004,7 @@ no_fast_ap6: no_fast_ap5: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -991,6 +1019,7 @@ no_fast_ap5: no_fast_ap4: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -1005,6 +1034,7 @@ no_fast_ap4: no_fast_ap3: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -1019,6 +1049,7 @@ no_fast_ap3: no_fast_ap2: ldr r12,[r11,#2] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -2211,6 +2242,7 @@ apupd_7: ldr r8,[r9,#-28] ldr r4,[r9,#-32] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_8 @@ -2231,6 +2263,7 @@ apupd_8: ldr r8,[r9,#-32] ldr r4,[r9,#-36] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_9 @@ -2251,6 +2284,7 @@ apupd_9: ldr r8,[r9,#-36] ldr r4,[r9,#-40] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_10 @@ -2271,6 +2305,7 @@ apupd_10: ldr r8,[r9,#-40] ldr r4,[r9,#-44] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_11 @@ -2291,6 +2326,7 @@ apupd_11: ldr r8,[r9,#-44] ldr r4,[r9,#-48] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_12 @@ -2311,6 +2347,7 @@ apupd_12: ldr r8,[r9,#-48] ldr r4,[r9,#-52] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_13 @@ -2331,6 +2368,7 @@ apupd_13: ldr r8,[r9,#-52] ldr r4,[r9,#-56] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_14 @@ -2351,6 +2389,7 @@ apupd_14: ldr r8,[r9,#-56] ldr r4,[r9,#-60] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_15 @@ -2371,6 +2410,7 @@ apupd_15: ldr r8,[r9,#-60] ldr r4,[r9,#-64] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_16 @@ -2391,6 +2431,7 @@ apupd_16: ldr r8,[r9,#-64] ldr r4,[r9,#-68] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_17 @@ -2411,6 +2452,7 @@ apupd_17: ldr r8,[r9,#-68] ldr r4,[r9,#-72] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_18 @@ -2431,6 +2473,7 @@ apupd_18: ldr r8,[r9,#-72] ldr r4,[r9,#-76] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_19 @@ -2451,6 +2494,7 @@ apupd_19: ldr r8,[r9,#-76] ldr r4,[r9,#-80] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_20 @@ -2471,6 +2515,7 @@ apupd_20: ldr r8,[r9,#-80] ldr r4,[r9,#-84] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_21 @@ -2491,6 +2536,7 @@ apupd_21: ldr r8,[r9,#-84] ldr r4,[r9,#-88] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_22 @@ -2511,6 +2557,7 @@ apupd_22: ldr r8,[r9,#-88] ldr r4,[r9,#-92] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_23 @@ -2531,6 +2578,7 @@ apupd_23: ldr r8,[r9,#-92] ldr r4,[r9,#-96] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_24 @@ -2551,6 +2599,7 @@ apupd_24: ldr r8,[r9,#-96] ldr r4,[r9,#-100] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_25 @@ -2571,6 +2620,7 @@ apupd_25: ldr r8,[r9,#-100] ldr r4,[r9,#-104] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_26 @@ -2591,6 +2641,7 @@ apupd_26: ldr r8,[r9,#-104] ldr r4,[r9,#-108] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_27 @@ -2611,6 +2662,7 @@ apupd_27: ldr r8,[r9,#-108] ldr r4,[r9,#-112] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_28 @@ -2631,6 +2683,7 @@ apupd_28: ldr r8,[r9,#-112] ldr r4,[r9,#-116] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_29 @@ -2651,6 +2704,7 @@ apupd_29: ldr r8,[r9,#-116] ldr r4,[r9,#-120] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_30 @@ -2671,6 +2725,7 @@ apupd_30: ldr r8,[r9,#-120] ldr r4,[r9,#-124] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_31 @@ -2691,6 +2746,7 @@ apupd_31: ldr r8,[r9,#-124] ldr r4,[r9,#-128] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_32 @@ -2711,6 +2767,7 @@ apupd_32: ldr r8,[r9,#-128] ldr r4,[r9,#-132] + .align add lr,pc,#9 str lr,[sp,#-4]! bl move_33 @@ -2757,6 +2814,7 @@ ap_31__u0: ap_32__u0: add r8,r8,pc .endif + .align add lr,pc,#9 str lr,[sp,#-4]! blx r8 diff --git a/thumb2compact.s b/thumb2compact.s index 611579e..33a214e 100644 --- a/thumb2compact.s +++ b/thumb2compact.s @@ -46,6 +46,7 @@ mark_cafs_lp: lao r12,end_vector,13 sto r6,r12,end_vector,13 + .align add lr,pc,#9 str lr,[sp,#-4]! .if COMPACT_MARK_WITH_STACK @@ -72,6 +73,7 @@ end_mark_cafs: ldo r6,r12,stack_top,4 lao r12,end_vector,14 sto r6,r12,end_vector,14 + .align add lr,pc,#9 str lr,[sp,#-4]! .if COMPACT_MARK_WITH_STACK @@ -81,6 +83,7 @@ end_mark_cafs: .endif .ifdef MEASURE_GC + .align add lr,pc,#9 str lr,[sp,#-4]! bl add_mark_compact_garbage_collect_time @@ -224,10 +227,12 @@ finalizer_list_empty: lao r12,end_vector,15 sto r6,r12,end_vector,15 .if COMPACT_MARK_WITH_STACK + .align add lr,pc,#9 str lr,[sp,#-4]! bl rmark_stack_nodes .else + .align add lr,pc,#9 str lr,[sp,#-4]! bl mark_stack_nodes @@ -983,6 +988,7 @@ move_array_ab: subs r4,r4,r3 add r7,r7,r6 + .align add lr,pc,#9 str lr,[sp,#-4]! bl reorder diff --git a/thumb2compact_rmark.s b/thumb2compact_rmark.s index 767a9d5..6dc8107 100644 --- a/thumb2compact_rmark.s +++ b/thumb2compact_rmark.s @@ -35,6 +35,7 @@ rmark_more_stack_nodes: str r8,[r10,r3,lsl #2] ldr r4,[r6] + .align add lr,pc,#9 str lr,[sp,#-4]! bl rmark_stack_node @@ -857,6 +858,7 @@ rmark_ab_record_array: subs r4,r4,r3 add r6,r6,#4 add r7,r7,r6 + .align add lr,pc,#9 str lr,[sp,#-4]! bl reorder @@ -963,6 +965,7 @@ rmark_array_nodes: str r8,[r10,r3,lsl #2] ldr r4,[r6] + .align add lr,pc,#9 str lr,[sp,#-4]! bl rmark_array_node diff --git a/thumb2compact_rmarkr.s b/thumb2compact_rmarkr.s index 9c7990d..d684e3f 100644 --- a/thumb2compact_rmarkr.s +++ b/thumb2compact_rmarkr.s @@ -726,6 +726,7 @@ rmarkr_ab_record_array: subs r4,r4,r3 add r6,r6,#4 add r7,r7,r6 + .align add lr,pc,#9 str lr,[sp,#-4]! bl reorder diff --git a/thumb2mark.s b/thumb2mark.s index d413b79..a94235f 100644 --- a/thumb2mark.s +++ b/thumb2mark.s @@ -52,6 +52,7 @@ _mark_cafs_lp: lao r12,end_vector,0 sto r4,r12,end_vector,0 + .align add lr,pc,#9 str lr,[sp,#-4]! bl _mark_stack_nodes @@ -69,6 +70,7 @@ _end_mark_cafs: lao r12,end_vector,1 sto r9,r12,end_vector,1 + .align add lr,pc,#9 str lr,[sp,#-4]! bl _mark_stack_nodes @@ -156,6 +158,7 @@ restore_lazy_array: mov r3,r8 sub r4,r4,r8 + .align add lr,pc,#9 str lr,[sp,#-4]! bl reorder @@ -230,6 +233,7 @@ end_finalizers_after_mark: str r2,[sp,#-4]! + .align add lr,pc,#9 str lr,[sp,#-4]! bl add_garbage_collect_time @@ -338,6 +342,7 @@ no_extra_word: _no_heap_use_message2: .ifdef FINALIZERS + .align add lr,pc,#9 str lr,[sp,#-4]! bl call_finalizers @@ -1275,6 +1280,7 @@ _mark_ab_array: lao r12,end_vector,5 sto r4,r12,end_vector,5 + .align add lr,pc,#9 str lr,[sp,#-4]! bl _mark_stack_nodes @@ -1349,6 +1355,7 @@ _end_set_a_array_bits: lao r12,end_vector,8 sto r4,r12,end_vector,8 + .align add lr,pc,#9 str lr,[sp,#-4]! bl _mark_stack_nodes @@ -1413,6 +1420,7 @@ _end_set_lazy_array_bits: lao r12,end_vector,11 sto r4,r12,end_vector,11 + .align add lr,pc,#9 str lr,[sp,#-4]! bl _mark_stack_nodes @@ -2353,6 +2361,7 @@ __mark__ab__record__array: add r6,r6,#4 add r7,r7,r6 + .align add lr,pc,#9 str lr,[sp,#-4]! bl reorder diff --git a/thumb2startup.s b/thumb2startup.s index 2649ac1..2e25a28 100644 --- a/thumb2startup.s +++ b/thumb2startup.s @@ -498,12 +498,14 @@ abc_main: lao r12,start_address,0 sto r4,r12,start_address,0 .endif + .align add lr,pc,#9 str lr,[sp,#-4]! bl init_clean tst r4,r4 bne init_error + .align add lr,pc,#9 str lr,[sp,#-4]! bl init_timer @@ -512,6 +514,7 @@ abc_main: sto sp,r12,halt_sp,0 .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl init_profiler @@ -520,10 +523,12 @@ abc_main: .ifdef DLL lao r12,start_address,1 ldo r4,r12,start_address,1 + .align add lr,pc,#9 str lr,[sp,#-4]! blx r4 .else + .align add lr,pc,#9 str lr,[sp,#-4]! bl __start @@ -531,6 +536,7 @@ abc_main: .thumb_func exit: + .align add lr,pc,#9 str lr,[sp,#-4]! bl exit_clean @@ -548,12 +554,14 @@ clean_init: mov r0,#1 sto r0,r12,dll_initisialised,0 + .align add lr,pc,#9 str lr,[sp,#-4]! bl init_clean tst r4,r4 bne init_dll_error + .align add lr,pc,#9 str lr,[sp,#-4]! bl init_timer @@ -562,6 +570,7 @@ clean_init: sto sp,r12,halt_sp,1 .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl init_profiler @@ -594,6 +603,7 @@ clean_fini: lao r12,saved_a_stack_p,1 ldo r9,r12,saved_a_stack_p,1 + .align add lr,pc,#9 str lr,[sp,#-4]! bl exit_clean @@ -893,9 +903,10 @@ no_memory_3: .thumb_func exit_clean: + .align add lr,pc,#9 str lr,[sp,#-4]! - bl add_execute_time + blx add_execute_time lao r4,flags,4 ldo r4,r4,flags,4 @@ -904,29 +915,31 @@ exit_clean: lao r0,time_string_1,0 otoa r0,time_string_1,0 - bl ew_print_string + blx ew_print_string lao r12,execute_time,0 ldo r4,r12,execute_time,0 + .align add lr,pc,#9 str lr,[sp,#-4]! bl print_time lao r0,time_string_2,0 otoa r0,time_string_2,0 - bl ew_print_string + blx ew_print_string lao r12,garbage_collect_time,0 ldo r4,r12,garbage_collect_time,0 + .align add lr,pc,#9 str lr,[sp,#-4]! bl print_time lao r0,time_string_4,0 otoa r0,time_string_4,0 - bl ew_print_string + blx ew_print_string lao r12,execute_time,1 ldo r4,r12,execute_time,1 @@ -937,12 +950,13 @@ exit_clean: ldo r12,r12,IO_time,0 add r4,r12 + .align add lr,pc,#9 str lr,[sp,#-4]! bl print_time mov r0,#10 - bl ew_print_char + blx ew_print_char .thumb_func no_print_execution_time: @@ -955,6 +969,7 @@ no_print_execution_time: bl free .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl write_profile_information @@ -1092,10 +1107,10 @@ print_time: lao r0,sprintf_time_buffer,1 otoa r0,sprintf_time_buffer,1 - bl ew_print_string + blx ew_print_string .else mov r0,r6 - bl ew_print_int + blx ew_print_int lao r6,sprintf_time_buffer,0 otoa r6,sprintf_time_buffer,0 @@ -1143,6 +1158,7 @@ end_print: .thumb_func dump: + .align add lr,pc,#9 str lr,[sp,#-4]! bl print @@ -1506,6 +1522,7 @@ ItoAC: .if MY_ITOS lao r6,sprintf_buffer,2 otoa r6,sprintf_buffer,2 + .align add lr,pc,#9 str lr,[sp,#-4]! bl int_to_string @@ -1738,6 +1755,7 @@ get_time_diff: .thumb_func add_execute_time: + .align add lr,pc,#9 str lr,[sp,#-4]! bl get_time_diff @@ -1753,6 +1771,7 @@ add_time: .thumb_func add_garbage_collect_time: + .align add lr,pc,#9 str lr,[sp,#-4]! bl get_time_diff @@ -1761,6 +1780,7 @@ add_garbage_collect_time: b add_time add_IO_time: + .align add lr,pc,#9 str lr,[sp,#-4]! bl get_time_diff @@ -1872,6 +1892,7 @@ collect_3: .ifdef PROFILE lao r8,garbage_collector_name,0 otoa r8,garbage_collector_name,0 + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_s @@ -1895,6 +1916,7 @@ collect_2: .ifdef PROFILE lao r8,garbage_collector_name,1 otoa r8,garbage_collector_name,1 + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_s @@ -1916,6 +1938,7 @@ collect_1: .ifdef PROFILE lao r8,garbage_collector_name,2 otoa r8,garbage_collector_name,2 + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_s @@ -1934,6 +1957,7 @@ collect_0: str lr,[sp,#-4]! lao r8,garbage_collector_name,3 otoa r8,garbage_collector_name,3 + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_s @@ -2106,6 +2130,7 @@ no_mark3: .thumb_func collect: + .align add lr,pc,#9 str lr,[sp,#-4]! bl add_execute_time @@ -2180,6 +2205,7 @@ no_print_stack_sizes: subs r4,r4,r12 add r4,r4,#63*4 lsr r4,r4,#8 + .align add lr,pc,#9 str lr,[sp,#-4]! bl zero_bit_vector @@ -2204,6 +2230,7 @@ no_print_stack_sizes: mov r14,#0 sto r14,r12,heap_end_after_copy_gc,3 + .align add lr,pc,#9 str lr,[sp,#-4]! bl zero_bit_vector @@ -2214,6 +2241,7 @@ zero_all: lao r12,heap_copied_vector_size,3 ldo r4,r12,heap_copied_vector_size,3 lsr r4,r4,#2 + .align add lr,pc,#9 str lr,[sp,#-4]! bl zero_bit_vector @@ -2233,6 +2261,7 @@ end_zero_bit_vector: ldr r9,[sp],#4 + .align add lr,pc,#9 str lr,[sp,#-4]! bl add_garbage_collect_time @@ -2379,6 +2408,7 @@ no_mark_scan: str r6,[sp,#-4]! str r3,[sp,#-4]! + .align add lr,pc,#9 str lr,[sp,#-4]! bl _munmap @@ -2464,6 +2494,7 @@ end_garbage_collect_: no_heap_use_message: .if FINALIZERS + .align add lr,pc,#9 str lr,[sp,#-4]! bl call_finalizers @@ -2728,6 +2759,7 @@ copy_to_compact_with_alloc_in_extra_heap: .endif out_of_memory_4: + .align add lr,pc,#9 str lr,[sp,#-4]! bl add_garbage_collect_time @@ -3114,6 +3146,7 @@ vector_at_end_2: .thumb_func no_copy_garbage_collection: + .align add lr,pc,#9 str lr,[sp,#-4]! bl add_garbage_collect_time @@ -3129,6 +3162,7 @@ no_copy_garbage_collection: .thumb_func stack_overflow: + .align add lr,pc,#9 str lr,[sp,#-4]! bl add_execute_time @@ -3164,6 +3198,7 @@ halt: ldo sp,r12,halt_sp,3 .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl write_profile_stack @@ -3223,6 +3258,7 @@ eval_fill: str r6,[r9],#4 mov r6,r7 ldr r12,[r7] + .align add lr,pc,#9 str lr,[sp,#-4]! blx r12 @@ -3281,6 +3317,7 @@ eval_fill2: add r9,r9,#4 mov r6,r7 + .align add lr,pc,#9 str lr,[sp,#-4]! blx r4 @@ -3297,6 +3334,7 @@ eval_fill2: .endif .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3310,6 +3348,7 @@ eval_upd_0: mov pc,r11 .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3325,6 +3364,7 @@ eval_upd_1: mov pc,r11 .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3340,6 +3380,7 @@ eval_upd_2: mov pc,r11 .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3357,6 +3398,7 @@ eval_upd_3: mov pc,r11 .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3377,6 +3419,7 @@ eval_upd_4: mov pc,r11 .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3399,6 +3442,7 @@ eval_upd_5: mov pc,r11 .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3423,6 +3467,7 @@ eval_upd_6: mov pc,r11 .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3460,6 +3505,7 @@ eval_upd_n_lp: mov pc,r11 .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3471,6 +3517,7 @@ eval_upd_8: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3482,6 +3529,7 @@ eval_upd_9: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3493,6 +3541,7 @@ eval_upd_10: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3504,6 +3553,7 @@ eval_upd_11: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3515,6 +3565,7 @@ eval_upd_12: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3526,6 +3577,7 @@ eval_upd_13: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3537,6 +3589,7 @@ eval_upd_14: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3548,6 +3601,7 @@ eval_upd_15: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3559,6 +3613,7 @@ eval_upd_16: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3570,6 +3625,7 @@ eval_upd_17: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3581,6 +3637,7 @@ eval_upd_18: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3592,6 +3649,7 @@ eval_upd_19: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3603,6 +3661,7 @@ eval_upd_20: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3614,6 +3673,7 @@ eval_upd_21: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3625,6 +3685,7 @@ eval_upd_22: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3636,6 +3697,7 @@ eval_upd_23: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3647,6 +3709,7 @@ eval_upd_24: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3658,6 +3721,7 @@ eval_upd_25: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3669,6 +3733,7 @@ eval_upd_26: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3680,6 +3745,7 @@ eval_upd_27: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3691,6 +3757,7 @@ eval_upd_28: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3702,6 +3769,7 @@ eval_upd_29: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3713,6 +3781,7 @@ eval_upd_30: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n @@ -3724,6 +3793,7 @@ eval_upd_31: b eval_upd_n .ifdef PROFILE + .align add lr,pc,#9 str lr,[sp,#-4]! bl profile_n -- cgit v1.2.3