Better simd abs

This commit is contained in:
dominik martinez 2025-05-21 23:17:28 -07:00
parent 66b211e969
commit 7c46a4e35a

View file

@ -90,12 +90,14 @@
(declaim (inline simd-abs-f32.8 simd-abs-f64.4))
(defun simd-abs-f32.8 (pack)
(declare (f32.8 pack))
(f32.8-sqrt (f32.8* pack pack)))
(declare (f32.8 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)
(declare (f64.4 pack))
(f64.4-sqrt (f64.4* pack pack)))
(declare (f64.4 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-f64.4) *double-float-fn-generic*)