Remove Unnecessary/Erroneous Reads In sgemm_tcopy_16.S COPY1x8 Macro
authorCodesWithWolves <CodesWithWolves@gmail.com>
Wed, 31 Mar 2021 19:38:07 +0000 (15:38 -0400)
committerCodesWithWolves <CodesWithWolves@gmail.com>
Wed, 31 Mar 2021 19:44:25 +0000 (15:44 -0400)
commitd2bda3b56a06a30623a840408ee8874d54d1058c
treef04ab1264f4533c9c66e34266a7b1c5432864845
parent903fd85c8530f49200d9ce5835612eb7befbb130
Remove Unnecessary/Erroneous Reads In sgemm_tcopy_16.S COPY1x8 Macro

There appears to have been some code leak when copying from the COPY2x8
macro above where we're reading 8 bytes into d4-d7 directly after
reading 4 bytes into s4-s7. These 32 bytes in d4-7 are unused and can
possibly overrun the boundary of allocated memory -- Valgrind detected
this which is what dragged my attention to it for a 128,1 copy.

Additionally, there is no need to update the addresses stored in A0-A7
as the only possible paths after running this macro will overwrite A0-7
if looping to the next 8 rows, or overwrite A0-3 if moving to 4 rows --
in which case A4-7 are unused.
kernel/arm64/sgemm_tcopy_16.S