From 55ddbc6b4144c14839dd0142caffbb2e8920a2ff Mon Sep 17 00:00:00 2001 From: "18218461270@163.com" <18218461270@163.com> Date: Sun, 24 Aug 2025 20:07:39 +0800 Subject: [PATCH] optimize archlab --- arch/sim/pipe/ncopy.ys | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/arch/sim/pipe/ncopy.ys b/arch/sim/pipe/ncopy.ys index 0f04c28..4f4b37c 100644 --- a/arch/sim/pipe/ncopy.ys +++ b/arch/sim/pipe/ncopy.ys @@ -17,7 +17,7 @@ ncopy: # You can modify this portion xorq %rax, %rax - iaddq $0xfffffffffffffff7, %rdx + iaddq $-9, %rdx jle Remaining Loop: @@ -83,28 +83,24 @@ F9: F10: iaddq $80, %rdi iaddq $80, %rsi - iaddq $0xfffffffffffffff6, %rdx + iaddq $-10, %rdx jg Loop Remaining: - addq %rdx, %rdx - addq %rdx, %rdx - addq %rdx, %rdx - mrmovq JT(%rdx), %rdx - pushq %rdx - ret - - .quad Done - .quad J1 - .quad J2 - .quad J3 - .quad J4 - .quad J5 - .quad J6 - .quad J7 - .quad J8 -JT: - .quad J9 + iaddq $8, %rdx + jl Done + je J1 + iaddq $-2, %rdx + jl J2 + je J3 + iaddq $-2, %rdx + jl J4 + je J5 + iaddq $-2, %rdx + jl J6 + je J7 + iaddq $-1, %rdx + je J8 J9: mrmovq 64(%rdi), %r10