.file "loop.c" .option nopic .attribute arch, "rv32i2p0_m2p0_a2p0_f2p0_d2p0_c2p0" .attribute unaligned_access, 0 .attribute stack_align, 16 .text .align 1 .globl calculate .type calculate, @function calculate: mul a0,a0,a0 ret .size calculate, .-calculate .align 1 .globl loop .type loop, @function loop: ble a2,zero,.L2 mv a4,a0 slli a2,a2,2 add a0,a0,a2 j .L5 .L4: addi a4,a4,4 addi a1,a1,4 beq a4,a0,.L2 .L5: lw a5,0(a4) beq a5,zero,.L4 mul a5,a5,a5 addi a5,a5,10 sw a5,0(a1) j .L4 .L2: ret .size loop, .-loop .align 1 .globl main .type main, @function main: addi sp,sp,-16 sw ra,12(sp) li a2,8 lui a1,%hi(.LANCHOR0) addi a1,a1,%lo(.LANCHOR0) lui a0,%hi(.LANCHOR1) addi a0,a0,%lo(.LANCHOR1) call loop li a0,0 lw ra,12(sp) addi sp,sp,16 jr ra .size main, .-main .globl dest .globl source .data .align 2 .set .LANCHOR1,. + 0 .type source, @object .size source, 32 source: .word 0 .word 1 .word 2 .word 3 .word 4 .word 5 .word 6 .word 7 .bss .align 2 .set .LANCHOR0,. + 0 .type dest, @object .size dest, 32 dest: .zero 32 .ident "GCC: (GNU) 10.2.0"