Skip to content

Commit

Permalink
Update asm test
Browse files Browse the repository at this point in the history
  • Loading branch information
taiki-e committed Mar 11, 2022
1 parent 0d09003 commit de3c320
Show file tree
Hide file tree
Showing 20 changed files with 3,456 additions and 716 deletions.
695 changes: 595 additions & 100 deletions tests/asm-test/asm/riscv32i-unknown-none-elf/atomic_memcpy_load_align1

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,11 +1,34 @@
asm_test::atomic_memcpy_load_align16::acquire:
lw a3, 24(a1)
lw a4, 20(a1)
lw a5, 16(a1)
lw a6, 12(a1)
lw a7, 8(a1)
lw t0, 4(a1)
#APP
lw a2, 0(a2)
#NO_APP
addi a3, a1, 24
#APP
lw a3, 0(a3)
#NO_APP
addi a4, a1, 20
#APP
lw a4, 0(a4)
#NO_APP
addi a5, a1, 16
#APP
lw a5, 0(a5)
#NO_APP
addi a6, a1, 12
#APP
lw a6, 0(a6)
#NO_APP
addi a7, a1, 8
#APP
lw a7, 0(a7)
#NO_APP
addi t0, a1, 4
#APP
lw t0, 0(t0)
#NO_APP
#APP
lw a1, 0(a1)
#NO_APP
sw a1, 0(a0)
sw t0, 4(a0)
sw a7, 8(a0)
Expand Down
304 changes: 268 additions & 36 deletions tests/asm-test/asm/riscv32i-unknown-none-elf/atomic_memcpy_load_align2
Original file line number Diff line number Diff line change
@@ -1,42 +1,213 @@
asm_test::atomic_memcpy_load_align2::acquire:
sw s0, 12(sp)
sw s1, 8(sp)
lh a2, 30(a1)
lh a3, 28(a1)
lh a4, 26(a1)
lh a5, 24(a1)
lh a6, 22(a1)
lh a7, 20(a1)
lh t0, 18(a1)
lh t1, 16(a1)
lh t2, 14(a1)
lh t3, 12(a1)
lh t4, 10(a1)
lh t5, 8(a1)
lh t6, 6(a1)
lh s0, 4(a1)
lh s1, 2(a1)
sw ra, 44(sp)
addi a2, a1, 3
andi a3, a2, -4
sub a2, a3, a1
li a4, 33
bltu a2, a4, .LBB4_2
addi a2, a1, 30
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 38(sp)
addi a2, a1, 28
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 36(sp)
addi a2, a1, 26
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 34(sp)
addi a2, a1, 24
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 32(sp)
addi a2, a1, 22
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 30(sp)
addi a2, a1, 20
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 28(sp)
addi a2, a1, 18
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 26(sp)
addi a2, a1, 16
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 24(sp)
addi a2, a1, 14
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 22(sp)
addi a2, a1, 12
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 20(sp)
addi a2, a1, 10
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 18(sp)
addi a2, a1, 8
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 16(sp)
addi a2, a1, 6
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 14(sp)
addi a2, a1, 4
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 12(sp)
addi a2, a1, 2
#APP
lh a2, 0(a2)
#NO_APP
sh a2, 10(sp)
#APP
lh a1, 0(a1)
sh a1, 0(a0)
sh s1, 2(a0)
sh s0, 4(a0)
sh t6, 6(a0)
sh t5, 8(a0)
sh t4, 10(a0)
sh t3, 12(a0)
sh t2, 14(a0)
sh t1, 16(a0)
sh t0, 18(a0)
sh a7, 20(a0)
sh a6, 22(a0)
sh a5, 24(a0)
sh a4, 26(a0)
sh a3, 28(a0)
sh a2, 30(a0)
#NO_APP
sh a1, 8(sp)
j .LBB4_12
.LBB4_2:
beqz a2, .LBB4_6
sub a6, a1, a3
addi a4, sp, 8
mv a5, a1
.LBB4_4:
#APP
lb a7, 0(a5)
#NO_APP
mv t0, a6
sb a7, 0(a4)
addi a4, a4, 1
addi a6, a6, 1
addi a5, a5, 1
bgeu a6, t0, .LBB4_4
sub a3, a1, a3
addi a3, a3, 32
li a4, 4
bgeu a3, a4, .LBB4_7
j .LBB4_9
.LBB4_6:
li a3, 32
.LBB4_7:
addi a4, sp, 8
li a5, 3
.LBB4_8:
add a6, a1, a2
#APP
lw a6, 0(a6)
#NO_APP
add a7, a4, a2
sb a6, 0(a7)
srli t0, a6, 24
sb t0, 3(a7)
srli t0, a6, 16
sb t0, 2(a7)
srli a6, a6, 8
sb a6, 1(a7)
addi a3, a3, -4
addi a2, a2, 4
bltu a5, a3, .LBB4_8
.LBB4_9:
beqz a3, .LBB4_12
addi a4, sp, 8
add a4, a4, a2
add a1, a1, a2
.LBB4_11:
#APP
lb a2, 0(a1)
#NO_APP
sb a2, 0(a4)
addi a4, a4, 1
addi a3, a3, -1
addi a1, a1, 1
bnez a3, .LBB4_11
.LBB4_12:
addi a1, sp, 8
li a2, 32
call memcpy@plt
fence r, rw
lw s0, 12(sp)
lw s1, 8(sp)
addi sp, sp, 16
lw ra, 44(sp)
addi sp, sp, 48
ret
.LBB6_2:
beqz a1, .LBB6_6
sub a5, a0, a2
addi a3, sp, 32
mv a4, a0
.LBB6_4:
lbu a6, 0(a3)
mv a7, a5
#APP
sb a6, 0(a4)
#NO_APP
addi a4, a4, 1
addi a5, a5, 1
addi a3, a3, 1
bgeu a5, a7, .LBB6_4
sub a2, a0, a2
addi a2, a2, 32
li a3, 4
bgeu a2, a3, .LBB6_7
j .LBB6_9
.LBB6_6:
li a2, 32
.LBB6_7:
addi a3, sp, 32
li a4, 3
.LBB6_8:
add a5, a3, a1
lbu a6, 1(a5)
lbu a7, 0(a5)
lbu t0, 3(a5)
lbu a5, 2(a5)
slli a6, a6, 8
or a6, a6, a7
slli a7, t0, 8
or a5, a7, a5
slli a5, a5, 16
or a5, a5, a6
add a6, a0, a1
#APP
sw a5, 0(a6)
#NO_APP
addi a2, a2, -4
addi a1, a1, 4
bltu a4, a2, .LBB6_8
.LBB6_9:
beqz a2, .LBB6_12
add a0, a0, a1
addi a3, sp, 32
add a1, a3, a1
.LBB6_11:
lbu a3, 0(a1)
#APP
sb a3, 0(a0)
#NO_APP
addi a0, a0, 1
addi a2, a2, -1
addi a1, a1, 1
bnez a2, .LBB6_11
.LBB6_12:
addi sp, sp, 64
ret
asm_test::atomic_memcpy_load_align2::read_volatile_acquire_fence:
sw s0, 12(sp)
Expand Down Expand Up @@ -78,3 +249,64 @@ asm_test::atomic_memcpy_load_align2::read_volatile_acquire_fence:
lw s1, 8(sp)
addi sp, sp, 16
ret
.LBB6_2:
beqz a1, .LBB6_6
sub a5, a0, a2
addi a3, sp, 32
mv a4, a0
.LBB6_4:
lbu a6, 0(a3)
mv a7, a5
#APP
sb a6, 0(a4)
#NO_APP
addi a4, a4, 1
addi a5, a5, 1
addi a3, a3, 1
bgeu a5, a7, .LBB6_4
sub a2, a0, a2
addi a2, a2, 32
li a3, 4
bgeu a2, a3, .LBB6_7
j .LBB6_9
.LBB6_6:
li a2, 32
.LBB6_7:
addi a3, sp, 32
li a4, 3
.LBB6_8:
add a5, a3, a1
lbu a6, 1(a5)
lbu a7, 0(a5)
lbu t0, 3(a5)
lbu a5, 2(a5)
slli a6, a6, 8
or a6, a6, a7
slli a7, t0, 8
or a5, a7, a5
slli a5, a5, 16
or a5, a5, a6
add a6, a0, a1
#APP
sw a5, 0(a6)
#NO_APP
addi a2, a2, -4
addi a1, a1, 4
bltu a4, a2, .LBB6_8
.LBB6_9:
beqz a2, .LBB6_12
add a0, a0, a1
addi a3, sp, 32
add a1, a3, a1
.LBB6_11:
lbu a3, 0(a1)
#APP
sb a3, 0(a0)
#NO_APP
addi a0, a0, 1
addi a2, a2, -1
addi a1, a1, 1
bnez a2, .LBB6_11
.LBB6_12:
addi sp, sp, 64
ret
Original file line number Diff line number Diff line change
@@ -1,11 +1,34 @@
asm_test::atomic_memcpy_load_align4::acquire:
lw a3, 24(a1)
lw a4, 20(a1)
lw a5, 16(a1)
lw a6, 12(a1)
lw a7, 8(a1)
lw t0, 4(a1)
#APP
lw a2, 0(a2)
#NO_APP
addi a3, a1, 24
#APP
lw a3, 0(a3)
#NO_APP
addi a4, a1, 20
#APP
lw a4, 0(a4)
#NO_APP
addi a5, a1, 16
#APP
lw a5, 0(a5)
#NO_APP
addi a6, a1, 12
#APP
lw a6, 0(a6)
#NO_APP
addi a7, a1, 8
#APP
lw a7, 0(a7)
#NO_APP
addi t0, a1, 4
#APP
lw t0, 0(t0)
#NO_APP
#APP
lw a1, 0(a1)
#NO_APP
sw a1, 0(a0)
sw t0, 4(a0)
sw a7, 8(a0)
Expand Down
Loading

0 comments on commit de3c320

Please sign in to comment.