Skip to content

Commit 59c9854

Browse files
committed
gas64 - moving some lines in memcopy to avoid useless use of a register
1 parent 5efd77a commit 59c9854

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

src/compiler/ir-gas64.bas

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1753,17 +1753,16 @@ private sub memcopy(byval bytestoclear as Integer,byref src as string, byref dst
17531753
end if
17541754
end if
17551755

1756-
rnbb=reg_findfree(999996)
1757-
regnbb=*regstrq(rnbb)
1758-
17591756
if regsrc<>src then reghandle(rsrc)=KREGFREE :asm_info("hidden freeing register="+*regstrq(rsrc))''free registers
17601757
if regdst<>dst then reghandle(rdst)=KREGFREE :asm_info("hidden freeing register="+*regstrq(rdst))
1761-
reghandle(rnbb)=KREGFREE:asm_info("hidden freeing register="+*regstrq(rnbb))
17621758

17631759
nb8=nbbytes\8
17641760

17651761
''copy by 8 bytes step
17661762
if nb8>7 then ''greater than 7 times * 8 bytes
1763+
rnbb=reg_findfree(999996)
1764+
regnbb=*regstrq(rnbb)
1765+
reghandle(rnbb)=KREGFREE:asm_info("hidden freeing register="+*regstrq(rnbb))
17671766
asm_code("mov "+regnbb+", "+Str(nb8))
17681767

17691768
lname=*symbUniqueLabel( )

0 commit comments

Comments
 (0)