Better simd abs
This commit is contained in:
parent
66b211e969
commit
7c46a4e35a
1 changed files with 6 additions and 4 deletions
|
@ -90,12 +90,14 @@
|
||||||
(declaim (inline simd-abs-f32.8 simd-abs-f64.4))
|
(declaim (inline simd-abs-f32.8 simd-abs-f64.4))
|
||||||
|
|
||||||
(defun simd-abs-f32.8 (pack)
|
(defun simd-abs-f32.8 (pack)
|
||||||
(declare (f32.8 pack))
|
(declare (f32.8 pack)
|
||||||
(f32.8-sqrt (f32.8* pack pack)))
|
(optimize . #.*optimize-qualities*))
|
||||||
|
(f32.8-if (f32.8< pack (f32.8 0.0)) (f32.8* pack (f32.8 -1.0)) pack))
|
||||||
|
|
||||||
(defun simd-abs-f64.4 (pack)
|
(defun simd-abs-f64.4 (pack)
|
||||||
(declare (f64.4 pack))
|
(declare (f64.4 pack)
|
||||||
(f64.4-sqrt (f64.4* pack pack)))
|
(optimize . #.*optimize-qualities*))
|
||||||
|
(f64.4-if (f64.4< pack 0) (f64.4* pack -1) pack))
|
||||||
|
|
||||||
(push '(simd-abs simd-abs-f32.8) *single-float-fn-generic*)
|
(push '(simd-abs simd-abs-f32.8) *single-float-fn-generic*)
|
||||||
(push '(simd-abs simd-abs-f64.4) *double-float-fn-generic*)
|
(push '(simd-abs simd-abs-f64.4) *double-float-fn-generic*)
|
||||||
|
|
Loading…
Add table
Reference in a new issue