Skip to content

Instantly share code, notes, and snippets.

@hsandid
Created January 13, 2021 06:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hsandid/caad589283b00e6d7888e0fe357e17e2 to your computer and use it in GitHub Desktop.
Save hsandid/caad589283b00e6d7888e0fe357e17e2 to your computer and use it in GitHub Desktop.
.text
.attribute 4, 16
.attribute 5, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0"
.file "main.c"
.globl main # -- Begin function main
.p2align 1
.type main,@function
main: # @main
# %bb.0:
addi sp, sp, -160
sd ra, 152(sp)
sd s0, 144(sp)
addi s0, sp, 160
mv a0, zero
sw a0, -20(s0)
sw a0, -24(s0)
lui a1, %hi(.L__const.main.matrix1)
addi a2, a1, %lo(.L__const.main.matrix1)
lw a3, 32(a2)
sw a3, -32(s0)
lwu a3, 24(a2)
lwu a4, 28(a2)
slli a4, a4, 32
or a3, a3, a4
sd a3, -40(s0)
lwu a3, 16(a2)
lwu a4, 20(a2)
slli a4, a4, 32
or a3, a3, a4
sd a3, -48(s0)
lwu a3, 8(a2)
lwu a4, 12(a2)
slli a4, a4, 32
or a3, a3, a4
sd a3, -56(s0)
lwu a1, %lo(.L__const.main.matrix1)(a1)
lwu a2, 4(a2)
slli a2, a2, 32
or a1, a1, a2
sd a1, -64(s0)
lui a1, %hi(.L__const.main.matrix2)
addi a2, a1, %lo(.L__const.main.matrix2)
lw a3, 32(a2)
sw a3, -72(s0)
lwu a3, 24(a2)
lwu a4, 28(a2)
slli a4, a4, 32
or a3, a3, a4
sd a3, -80(s0)
lwu a3, 16(a2)
lwu a4, 20(a2)
slli a4, a4, 32
or a3, a3, a4
sd a3, -88(s0)
lwu a3, 8(a2)
lwu a4, 12(a2)
slli a4, a4, 32
or a3, a3, a4
sd a3, -96(s0)
lwu a1, %lo(.L__const.main.matrix2)(a1)
lwu a2, 4(a2)
slli a2, a2, 32
or a1, a1, a2
sd a1, -104(s0)
sw a0, -144(s0)
j .LBB0_1
.LBB0_1: # =>This Loop Header: Depth=1
# Child Loop BB0_3 Depth 2
# Child Loop BB0_5 Depth 3
lw a0, -144(s0)
addi a1, zero, 2
blt a1, a0, .LBB0_12
j .LBB0_2
.LBB0_2: # in Loop: Header=BB0_1 Depth=1
mv a0, zero
sw a0, -148(s0)
j .LBB0_3
.LBB0_3: # Parent Loop BB0_1 Depth=1
# => This Loop Header: Depth=2
# Child Loop BB0_5 Depth 3
lw a0, -148(s0)
addi a1, zero, 2
blt a1, a0, .LBB0_10
j .LBB0_4
.LBB0_4: # in Loop: Header=BB0_3 Depth=2
mv a0, zero
sw a0, -152(s0)
j .LBB0_5
.LBB0_5: # Parent Loop BB0_1 Depth=1
# Parent Loop BB0_3 Depth=2
# => This Inner Loop Header: Depth=3
lw a0, -152(s0)
addi a1, zero, 2
blt a1, a0, .LBB0_8
j .LBB0_6
.LBB0_6: # in Loop: Header=BB0_5 Depth=3
lw a0, -24(s0)
lw a1, -144(s0)
addi a2, zero, 12
mul a1, a1, a2
addi a3, s0, -64
add a1, a1, a3
lw a3, -152(s0)
slli a4, a3, 2
add a1, a1, a4
lw a1, 0(a1)
mul a2, a3, a2
addi a3, s0, -104
add a2, a2, a3
lw a3, -148(s0)
slli a3, a3, 2
add a2, a2, a3
lw a2, 0(a2)
mul a1, a1, a2
add a0, a0, a1
sw a0, -24(s0)
j .LBB0_7
.LBB0_7: # in Loop: Header=BB0_5 Depth=3
lw a0, -152(s0)
addi a0, a0, 1
sw a0, -152(s0)
j .LBB0_5
.LBB0_8: # in Loop: Header=BB0_3 Depth=2
lw a0, -24(s0)
lw a1, -144(s0)
addi a2, zero, 12
mul a1, a1, a2
addi a2, s0, -140
add a1, a1, a2
lw a2, -148(s0)
slli a2, a2, 2
add a1, a1, a2
sw a0, 0(a1)
mv a0, zero
sw a0, -24(s0)
j .LBB0_9
.LBB0_9: # in Loop: Header=BB0_3 Depth=2
lw a0, -148(s0)
addi a0, a0, 1
sw a0, -148(s0)
j .LBB0_3
.LBB0_10: # in Loop: Header=BB0_1 Depth=1
j .LBB0_11
.LBB0_11: # in Loop: Header=BB0_1 Depth=1
lw a0, -144(s0)
addi a0, a0, 1
sw a0, -144(s0)
j .LBB0_1
.LBB0_12:
mv a0, zero
sw a0, -156(s0)
j .LBB0_13
.LBB0_13: # =>This Loop Header: Depth=1
# Child Loop BB0_15 Depth 2
lw a0, -156(s0)
addi a1, zero, 2
blt a1, a0, .LBB0_20
j .LBB0_14
.LBB0_14: # in Loop: Header=BB0_13 Depth=1
mv a0, zero
sw a0, -160(s0)
j .LBB0_15
.LBB0_15: # Parent Loop BB0_13 Depth=1
# => This Inner Loop Header: Depth=2
lw a0, -160(s0)
addi a1, zero, 2
blt a1, a0, .LBB0_18
j .LBB0_16
.LBB0_16: # in Loop: Header=BB0_15 Depth=2
lw a0, -156(s0)
addi a1, zero, 12
mul a0, a0, a1
addi a1, s0, -140
add a0, a0, a1
lw a1, -160(s0)
slli a1, a1, 2
add a0, a0, a1
lw a1, 0(a0)
lui a0, %hi(.L.str)
addi a0, a0, %lo(.L.str)
call printf
j .LBB0_17
.LBB0_17: # in Loop: Header=BB0_15 Depth=2
lw a0, -160(s0)
addi a0, a0, 1
sw a0, -160(s0)
j .LBB0_15
.LBB0_18: # in Loop: Header=BB0_13 Depth=1
lui a0, %hi(.L.str.1)
addi a0, a0, %lo(.L.str.1)
call printf
j .LBB0_19
.LBB0_19: # in Loop: Header=BB0_13 Depth=1
lw a0, -156(s0)
addi a0, a0, 1
sw a0, -156(s0)
j .LBB0_13
.LBB0_20:
mv a0, zero
ld s0, 144(sp)
ld ra, 152(sp)
addi sp, sp, 160
ret
.Lfunc_end0:
.size main, .Lfunc_end0-main
# -- End function
.type .L__const.main.matrix1,@object # @__const.main.matrix1
.section .rodata,"a",@progbits
.p2align 2
.L__const.main.matrix1:
.word 3 # 0x3
.word 2 # 0x2
.word 4 # 0x4
.word 5 # 0x5
.word 2 # 0x2
.word 7 # 0x7
.word 3 # 0x3
.word 2 # 0x2
.word 5 # 0x5
.size .L__const.main.matrix1, 36
.type .L__const.main.matrix2,@object # @__const.main.matrix2
.p2align 2
.L__const.main.matrix2:
.word 6 # 0x6
.word 7 # 0x7
.word 2 # 0x2
.word 2 # 0x2
.word 1 # 0x1
.word 5 # 0x5
.word 3 # 0x3
.word 4 # 0x4
.word 6 # 0x6
.size .L__const.main.matrix2, 36
.type .L.str,@object # @.str
.section .rodata.str1.1,"aMS",@progbits,1
.L.str:
.asciz "%d\t"
.size .L.str, 4
.type .L.str.1,@object # @.str.1
.L.str.1:
.asciz "\n"
.size .L.str.1, 2
.ident "clang version 11.0.0 (https://github.com/llvm/llvm-project.git 0160ad802e899c2922bc9b29564080c22eb0908c)"
.section ".note.GNU-stack","",@progbits
.addrsig
.addrsig_sym printf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment