sysy-data/performance_c/asm/instruction-combining-1.s

154 lines
2.3 KiB
ArmAsm

.text
.attribute 4, 16
.attribute 5, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0"
.file "instruction-combining-1.sy"
.globl func
.p2align 1
.type func,@function
func:
subw a0, a0, a1
lui a1, 2
addiw a1, a1, 1808
addw a0, a0, a1
ret
.Lfunc_end0:
.size func, .Lfunc_end0-func
.globl main
.p2align 1
.type main,@function
main:
addi sp, sp, -32
sd ra, 24(sp)
sd s0, 16(sp)
sd s1, 8(sp)
sd s2, 0(sp)
call getint
lui s0, %hi(loopCount)
sw a0, %lo(loopCount)(s0)
lui s2, 2
addiw a0, s2, 1824
call _sysy_starttime
lw a6, %lo(loopCount)(s0)
blez a6, .LBB1_3
li a1, 0
li a2, 0
li s0, 0
lui a3, 559241
addiw a3, a3, -1911
slli a3, a3, 32
lui a4, 262152
addiw a4, a4, -1
lui a5, 131068
addiw a5, a5, 1
.LBB1_2:
slli s1, a1, 32
mulhu s1, s1, a3
srli s1, s1, 37
addw s1, s1, s0
mul s0, s1, a4
srli a0, s0, 63
srai s0, s0, 59
addw a0, a0, s0
mulw a0, a0, a5
subw s0, s1, a0
addiw a2, a2, 1
addiw a1, a1, 60
blt a2, a6, .LBB1_2
j .LBB1_4
.LBB1_3:
li s0, 0
.LBB1_4:
addiw a0, s2, 1839
call _sysy_stoptime
mv a0, s0
call putint
li a0, 10
call putch
li a0, 0
ld ra, 24(sp)
ld s0, 16(sp)
ld s1, 8(sp)
ld s2, 0(sp)
addi sp, sp, 32
ret
.Lfunc_end1:
.size main, .Lfunc_end1-main
.type loopCount,@object
.section .sbss,"aw",@nobits
.globl loopCount
.p2align 2
loopCount:
.word 0
.size loopCount, 4
.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