.file "task08_coalescing.c" .option nopic .attribute arch, "rv32i2p1_zicsr2p0_zifencei2p0" .attribute unaligned_access, 0 .attribute stack_align, 16 .text .align 2 .globl main .type main, @function main: lla a5,.LANCHOR0 lla a4,.LANCHOR0+160 sw a4,end_marker,a3 sw a5,start,a3 lla a3,.LANCHOR0+96 sw a3,0(a5) sw a4,96(a5) sw zero,160(a5) li a4,48 sw a4,4(a5) sw a4,52(a5) li a4,64 sw a4,100(a5) sw zero,164(a5) lla a5,start lla a3,.LANCHOR0+48 .L2: mv a4,a5 lw a5,0(a5) bltu a5,a3,.L2 lla a3,.LANCHOR0+96 beq a5,a3,.L12 .L3: sw a5,.LANCHOR0+48,a3 lla a5,start lla a3,.LANCHOR0+48 beq a4,a5,.L4 lw a2,4(a4) slli a5,a2,1 srli a5,a5,1 add a5,a4,a5 beq a5,a3,.L13 .L4: sw a3,0(a4) lw a2,start lla a5,.LANCHOR0+160 beq a2,a5,.L9 mv a5,a2 li a4,0 lla a3,.LANCHOR0+160 .L6: addi a4,a4,1 lw a5,0(a5) bne a5,a3,.L6 .L5: sw a4,g_free_count,a5 lw a5,4(a2) sw a5,g_merged_size,a4 lw a5,0(a2) lla a4,.LANCHOR0+160 sub a5,a5,a4 seqz a5,a5 sw a5,g_merged_with_right,a4 li a0,0 ret .L12: li a5,112 sw a5,.LANCHOR0+52,a3 lw a5,0(a4) lw a5,0(a5) j .L3 .L13: lla a3,.LANCHOR0 lw a5,52(a3) add a5,a5,a2 sw a5,4(a4) lw a3,48(a3) j .L4 .L9: li a4,0 j .L5 .size main, .-main .globl g_merged_with_right .globl g_merged_size .globl g_free_count .bss .align 2 .set .LANCHOR0,. + 0 .type heap_area, @object .size heap_area, 192 heap_area: .zero 192 .section .sbss,"aw",@nobits .align 2 .type g_merged_with_right, @object .size g_merged_with_right, 4 g_merged_with_right: .zero 4 .type g_merged_size, @object .size g_merged_size, 4 g_merged_size: .zero 4 .type g_free_count, @object .size g_free_count, 4 g_free_count: .zero 4 .type end_marker, @object .size end_marker, 4 end_marker: .zero 4 .type start, @object .size start, 8 start: .zero 8 .ident "GCC: (15.2.0-23) 15.2.0" .section .note.GNU-stack,"",@progbits