sysy-data/final_performance_c/asm/if-combine2.s

364 lines
5.0 KiB
ArmAsm
Raw Permalink Normal View History

2024-06-14 13:34:46 +08:00
.text
.attribute 4, 16
.attribute 5, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0"
.file "if-combine2.sy"
.globl func
.p2align 1
.type func,@function
func:
addi sp, sp, -512
sd ra, 504(sp)
sd s0, 496(sp)
sd s1, 488(sp)
sd s2, 480(sp)
sd s3, 472(sp)
sd s4, 464(sp)
sd s5, 456(sp)
sd s6, 448(sp)
sd s7, 440(sp)
sd s8, 432(sp)
sd s9, 424(sp)
sd s10, 416(sp)
sd s11, 408(sp)
mv s2, a0
addi s1, sp, 8
addi a0, sp, 8
li a2, 400
li s0, 400
li a1, 0
call memset@plt
blez s2, .LBB0_5
li a1, 0
li a0, 0
lui a2, 524296
addiw t0, a2, 1
li s9, 82
li s10, 83
li s11, 84
li ra, 85
li s7, 86
li s8, 87
li a3, 88
li a4, 89
li a6, 90
li a7, 91
li t1, 92
li t2, 93
li t3, 94
li t4, 95
li t5, 96
li t6, 97
li s3, 98
li s4, 99
.LBB0_2:
li s5, 0
li a2, 1
sw a2, 12(sp)
li a2, 2
sw a2, 16(sp)
li a2, 3
sw a2, 20(sp)
li a2, 4
sw a2, 24(sp)
li a2, 5
sw a2, 28(sp)
li a2, 6
sw a2, 32(sp)
li a2, 7
sw a2, 36(sp)
li a2, 8
sw a2, 40(sp)
li a2, 9
sw a2, 44(sp)
li a2, 10
sw a2, 48(sp)
li a2, 11
sw a2, 52(sp)
li a2, 12
sw a2, 56(sp)
li a2, 13
sw a2, 60(sp)
li a2, 14
sw a2, 64(sp)
li a2, 15
sw a2, 68(sp)
li a2, 16
sw a2, 72(sp)
li a2, 17
sw a2, 76(sp)
li a2, 18
sw a2, 80(sp)
li a2, 19
sw a2, 84(sp)
li a2, 20
sw a2, 88(sp)
li a2, 21
sw a2, 92(sp)
li a2, 22
sw a2, 96(sp)
li a2, 23
sw a2, 100(sp)
li a2, 24
sw a2, 104(sp)
li a2, 25
sw a2, 108(sp)
li a2, 26
sw a2, 112(sp)
li a2, 27
sw a2, 116(sp)
li a2, 28
sw a2, 120(sp)
li a2, 29
sw a2, 124(sp)
li a2, 30
sw a2, 128(sp)
li a2, 31
sw a2, 132(sp)
li a2, 32
sw a2, 136(sp)
li a2, 33
sw a2, 140(sp)
li a2, 34
sw a2, 144(sp)
li a2, 35
sw a2, 148(sp)
li a2, 36
sw a2, 152(sp)
li a2, 37
sw a2, 156(sp)
li a2, 38
sw a2, 160(sp)
li a2, 39
sw a2, 164(sp)
li a2, 40
sw a2, 168(sp)
li a2, 41
sw a2, 172(sp)
li a2, 42
sw a2, 176(sp)
li a2, 43
sw a2, 180(sp)
li a2, 44
sw a2, 184(sp)
li a2, 45
sw a2, 188(sp)
li a2, 46
sw a2, 192(sp)
li a2, 47
sw a2, 196(sp)
li a2, 48
sw a2, 200(sp)
li a2, 49
sw a2, 204(sp)
li a2, 50
sw a2, 208(sp)
li a2, 51
sw a2, 212(sp)
li a2, 52
sw a2, 216(sp)
li a2, 53
sw a2, 220(sp)
li a2, 54
sw a2, 224(sp)
li a2, 55
sw a2, 228(sp)
li a2, 56
sw a2, 232(sp)
li a2, 57
sw a2, 236(sp)
li a2, 58
sw a2, 240(sp)
li a2, 59
sw a2, 244(sp)
li a2, 60
sw a2, 248(sp)
li a2, 61
sw a2, 252(sp)
li a2, 62
sw a2, 256(sp)
li a2, 63
sw a2, 260(sp)
li a2, 64
sw a2, 264(sp)
li a2, 65
sw a2, 268(sp)
li a2, 66
sw a2, 272(sp)
li a2, 67
sw a2, 276(sp)
li a2, 68
sw a2, 280(sp)
li a2, 69
sw a2, 284(sp)
li a2, 70
sw a2, 288(sp)
li a2, 71
sw a2, 292(sp)
li a2, 72
sw a2, 296(sp)
li a2, 73
sw a2, 300(sp)
li a2, 74
sw a2, 304(sp)
li a2, 75
sw a2, 308(sp)
li a2, 76
sw a2, 312(sp)
li a2, 77
sw a2, 316(sp)
li a2, 78
sw a2, 320(sp)
li a2, 79
sw a2, 324(sp)
li a2, 80
sw a2, 328(sp)
li a2, 81
sw a2, 332(sp)
sw s9, 336(sp)
sw s10, 340(sp)
sw s11, 344(sp)
sw ra, 348(sp)
sw s7, 352(sp)
sw s8, 356(sp)
sw a3, 360(sp)
sw a4, 364(sp)
sw a6, 368(sp)
sw a7, 372(sp)
sw t1, 376(sp)
sw t2, 380(sp)
sw t3, 384(sp)
sw t4, 388(sp)
sw t5, 392(sp)
sw t6, 396(sp)
sw s3, 400(sp)
sw s4, 404(sp)
.LBB0_3:
add s6, s1, s5
lw a5, 0(s6)
addi s5, s5, 4
addw a0, a0, a5
bne s5, s0, .LBB0_3
addiw a1, a1, 1
mul a5, a0, t0
srli a5, a5, 32
addw a5, a5, a0
srliw a2, a5, 31
sraiw a5, a5, 15
addw a2, a2, a5
slliw a5, a2, 16
subw a2, a2, a5
addw a0, a0, a2
blt a1, s2, .LBB0_2
j .LBB0_6
.LBB0_5:
li a0, 0
.LBB0_6:
ld ra, 504(sp)
ld s0, 496(sp)
ld s1, 488(sp)
ld s2, 480(sp)
ld s3, 472(sp)
ld s4, 464(sp)
ld s5, 456(sp)
ld s6, 448(sp)
ld s7, 440(sp)
ld s8, 432(sp)
ld s9, 424(sp)
ld s10, 416(sp)
ld s11, 408(sp)
addi sp, sp, 512
ret
.Lfunc_end0:
.size func, .Lfunc_end0-func
.globl main
.p2align 1
.type main,@function
main:
addi sp, sp, -16
sd ra, 8(sp)
li a0, 325
call _sysy_starttime
call getint
call func
call putint
li a0, 10
call putch
li a0, 329
call _sysy_stoptime
li a0, 0
ld ra, 8(sp)
addi sp, sp, 16
ret
.Lfunc_end1:
.size main, .Lfunc_end1-main
.type _sysy_start,@object
.bss
.globl _sysy_start
.p2align 3
_sysy_start:
.zero 16
.size _sysy_start, 16
.type _sysy_end,@object
.globl _sysy_end
.p2align 3
_sysy_end:
.zero 16
.size _sysy_end, 16
.type _sysy_l1,@object
.globl _sysy_l1
.p2align 2
_sysy_l1:
.zero 4096
.size _sysy_l1, 4096
.type _sysy_l2,@object
.globl _sysy_l2
.p2align 2
_sysy_l2:
.zero 4096
.size _sysy_l2, 4096
.type _sysy_h,@object
.globl _sysy_h
.p2align 2
_sysy_h:
.zero 4096
.size _sysy_h, 4096
.type _sysy_m,@object
.globl _sysy_m
.p2align 2
_sysy_m:
.zero 4096
.size _sysy_m, 4096
.type _sysy_s,@object
.globl _sysy_s
.p2align 2
_sysy_s:
.zero 4096
.size _sysy_s, 4096
.type _sysy_us,@object
.globl _sysy_us
.p2align 2
_sysy_us:
.zero 4096
.size _sysy_us, 4096
.type _sysy_idx,@object
.section .sbss,"aw",@nobits
.globl _sysy_idx
.p2align 2
_sysy_idx:
.word 0
.size _sysy_idx, 4
.ident "Debian clang version 14.0.6"
.section ".note.GNU-stack","",@progbits
.addrsig