1 2 .comm data0,4,4 3 .text 4 .align 2 5 .global main 6 .type main, %function 7main: 8 sub sp, sp, #16 9 mov x7, 13 10 str w7, [sp,12] 11 b e843419 12 ret 13 .size main, .-main 14 15 .section .e843419, "xa" 16 .align 2 17 .global e843419 18 .type e843419, %function 19e843419: 20 sub sp, sp, #16 21 mov x7, 13 22 str w7, [sp,12] 23 b e843419_1 24 .fill 4072,1,0 25e843419_1: 26 adrp x0, data0 27 str x7, [x0,12] 28 mov x8, 9 29 str x8, [x0, :lo12:data0] 30 31 add x0, x1, x5 32 ldr w7, [sp,12] 33 add w0, w7, w7 34 add sp, sp, 16 35 b e835769 36 ret 37 .size e843419, .-e843419 38 39 .section .e835769, "xa" 40 .align 2 41 .global e835769 42 .type e835769, %function 43e835769: 44 ldr w7, [x4,8]! 45 mul w6, w0, w1 46 ldr x4, [x4] 47 madd x5, x2, x3, x6 48 mov x0, x5 49 ret 50 .size e835769, .-e835769 51 52# --- 53 54 55 56 57 58# --- 59 60 .data 61data0: 62 .fill 8,1,255 63 .balign 512 64 .fill 4,1,255 65 # double word access that crosses a 64 bit boundary 66data1: 67 .fill 2,1,255 68 69 # word access that crosses a 64 boundary 70data2: 71 .fill 2,1,255 72 73data5: 74 .fill 4,1,255 75 76 # double word access that crosses a 128 boundary 77data3: 78 .fill 2,1,255 79 80 # word access that crosses a 128 bit boundary 81data4: 82 .fill 2,1,255 83data6: 84 .fill 496,1,255 85