diff --git a/basis/compiler/cfg/intrinsics/simd/simd.factor b/basis/compiler/cfg/intrinsics/simd/simd.factor index 11e4fc61c2..88f1a2e2fa 100644 --- a/basis/compiler/cfg/intrinsics/simd/simd.factor +++ b/basis/compiler/cfg/intrinsics/simd/simd.factor @@ -667,7 +667,7 @@ PREDICATE: fixnum-vector-rep < int-vector-rep { (simd-vmin) [ emit-simd-vmin ] } { (simd-vmax) [ emit-simd-vmax ] } { (simd-vavg) [ emit-simd-vavg ] } - { (simd-vdot [ emit-simd-vdot ] } + { (simd-vdot) [ emit-simd-vdot ] } { (simd-vsad) [ emit-simd-vsad ] } { (simd-vsqrt) [ emit-simd-vsqrt ] } { (simd-sum) [ emit-simd-sum ] } diff --git a/basis/compiler/tree/propagation/simd/simd.factor b/basis/compiler/tree/propagation/simd/simd.factor index 5e0ab5a94f..0ae3540679 100644 --- a/basis/compiler/tree/propagation/simd/simd.factor +++ b/basis/compiler/tree/propagation/simd/simd.factor @@ -64,7 +64,7 @@ CONSTANT: vector>vector-intrinsics CONSTANT: vector-other-intrinsics { - (simd-v.) + (simd-vdot) (simd-vsad) (simd-sum) (simd-vany?) @@ -96,7 +96,7 @@ vector>vector-intrinsics [ { byte-array } "default-output-classes" set-word-prop \ (simd-sum) [ nip scalar-output-class ] "outputs" set-word-prop -\ (simd-v.) [ 2nip scalar-output-class ] "outputs" set-word-prop +\ (simd-vdot) [ 2nip scalar-output-class ] "outputs" set-word-prop { (simd-vany?) diff --git a/basis/math/vectors/simd/intrinsics/intrinsics.factor b/basis/math/vectors/simd/intrinsics/intrinsics.factor index e2c9bb0448..1956229f37 100644 --- a/basis/math/vectors/simd/intrinsics/intrinsics.factor +++ b/basis/math/vectors/simd/intrinsics/intrinsics.factor @@ -185,7 +185,7 @@ PRIVATE> : (simd-vmin) ( a b rep -- c ) [ min ] components-2map ; : (simd-vmax) ( a b rep -- c ) [ max ] components-2map ; ! XXX -: (simd-v.) ( a b rep -- n ) +: (simd-vdot) ( a b rep -- n ) [ 2byte>rep-array [ [ first ] bi@ * ] 2keep ] keep 1 swap rep-length [a,b) [ '[ _ swap nth-unsafe ] bi@ * + ] 2with each ; : (simd-vsqrt) ( a rep -- c ) [ fsqrt ] components-map ;