summaryrefslogtreecommitdiff
path: root/residual_calc.asm
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2019-04-08 10:42:15 +0200
committerAnton Khirnov <anton@khirnov.net>2019-04-08 10:42:15 +0200
commit264d8ce5e39676582f2e6a65cf517924846070b9 (patch)
treece0b49c785eff34393e180f638a1de1d0b800978 /residual_calc.asm
parent553c8fb35710da42ed958a79940693d4b68290ee (diff)
x86: add a misc utility header
Diffstat (limited to 'residual_calc.asm')
-rw-r--r--residual_calc.asm11
1 files changed, 6 insertions, 5 deletions
diff --git a/residual_calc.asm b/residual_calc.asm
index e5b0268..77d6dc8 100644
--- a/residual_calc.asm
+++ b/residual_calc.asm
@@ -17,6 +17,7 @@
;/
%include "config.asm"
+%include "util.asm"
%include "x86inc.asm"
; double precision
@@ -149,12 +150,12 @@ SECTION .text
; load and splat the finite difference factors
movu m0, [fd_factorsq + OFF_DIFF_COEFF_01]
- vpermq m1, m0, 00000000b ; diff factor 01 -> m1
- vpermq m2, m0, 01010101b ; diff factor 10 -> m2
- vpermq m3, m0, 10101010b ; diff factor 11 -> m3
- vpermq m4, m0, 11111111b ; diff factor 02 -> m4
+ SPLATPD m1, m0, 0 ; diff factor 01 -> m1
+ SPLATPD m2, m0, 1 ; diff factor 10 -> m2
+ SPLATPD m3, m0, 2 ; diff factor 11 -> m3
+ SPLATPD m4, m0, 3 ; diff factor 02 -> m4
movq xm0, [fd_factorsq + OFF_DIFF_COEFF_20]
- vpermq m5, m0, 00000000b ; diff factor 20 -> m5
+ SPLATPD m5, m0, 0 ; diff factor 20 -> m5
%define u_downq fd_factorsq ; reuse the fd_factors register after it is no longer needed
; compute the mask for absolute value