diff options
author | Anton Khirnov <anton@khirnov.net> | 2019-01-11 14:17:39 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2019-01-13 13:57:07 +0100 |
commit | ac852739903e90e992e3c7c50cde487fe037e167 (patch) | |
tree | f036f0e042c412f936fcfef7d20b856918979bf0 | |
parent | 23be9ec26e6b870795e3af5b837190efe383ee29 (diff) |
residual_calc.asm: fix partial stores
.store1 and .store3 were switched
-rw-r--r-- | residual_calc.asm | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/residual_calc.asm b/residual_calc.asm index b6cc70e..47dda9b 100644 --- a/residual_calc.asm +++ b/residual_calc.asm @@ -217,23 +217,23 @@ SECTION .text .store_partial: sub offsetq, ELEM_SIZE - jz .store1 + jz .store3 sub offsetq, ELEM_SIZE jz .store2 -.store3: +.store1: ; offsetq is now mmsize-2 after the write position - movu [dstq + offsetq - mmsize + 2 * ELEM_SIZE], xm0 - vextractf128 xm0, m0, 1 - movq [dstq + offsetq - mmsize + 4 * ELEM_SIZE], xm0 + movq [dstq + offsetq - mmsize + 2 * ELEM_SIZE], xm0 jmp .finish .store2: ; offsetq is now mmsize-2 after the write position movu [dstq + offsetq - mmsize + 2 * ELEM_SIZE], xm0 jmp .finish -.store1: +.store3: ; offsetq is now mmsize-1 after the write position - movq [dstq + offsetq - mmsize + ELEM_SIZE], xm0 + movu [dstq + offsetq - mmsize + 1 * ELEM_SIZE], xm0 + vextractf128 xm0, m0, 1 + movq [dstq + offsetq - mmsize + 3 * ELEM_SIZE], xm0 .finish: RET |