diff options
author | Anton Khirnov <anton@khirnov.net> | 2019-04-08 10:42:15 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2019-04-08 10:42:15 +0200 |
commit | 264d8ce5e39676582f2e6a65cf517924846070b9 (patch) | |
tree | ce0b49c785eff34393e180f638a1de1d0b800978 /transfer_interp.asm | |
parent | 553c8fb35710da42ed958a79940693d4b68290ee (diff) |
x86: add a misc utility header
Diffstat (limited to 'transfer_interp.asm')
-rw-r--r-- | transfer_interp.asm | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/transfer_interp.asm b/transfer_interp.asm index a6ae60f..b7c9af5 100644 --- a/transfer_interp.asm +++ b/transfer_interp.asm @@ -17,11 +17,12 @@ ;/ %include "config.asm" +%include "util.asm" %include "x86inc.asm" SECTION .text -INIT_YMM fma3 +INIT_YMM avx2 cglobal transfer_interp_line_cont_4, 7, 8, 6, dst, dst_len, src, src_stride, idx_x, fact_x, fact_y,\ idx_x_val shl src_strideq, 3 @@ -35,10 +36,10 @@ cglobal transfer_interp_line_cont_4, 7, 8, 6, dst, dst_len, src, src_stride, idx %define offsetq dst_lenq movu m0, [fact_yq] - vpermq m1, m0, 01010101b ; fact y + 1 -> m1 - vpermq m2, m0, 10101010b ; fact y + 2 -> m2 - vpermq m3, m0, 11111111b ; fact y + 3 -> m3 - vpermq m0, m0, 00000000b ; fact y + 0 -> m0 + SPLATPD m1, m0, 1 ; fact y + 1 -> m1 + SPLATPD m2, m0, 2 ; fact y + 2 -> m2 + SPLATPD m3, m0, 3 ; fact y + 3 -> m3 + SPLATPD m0, m0, 0 ; fact y + 0 -> m0 .loop: mov idx_x_valq, [idx_xq + offsetq] |