]> gitweb.factorcode.org Git - factor.git/commitdiff
cpu.x86: tweak SIMD intrinsics
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Wed, 9 Sep 2009 03:34:01 +0000 (22:34 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Wed, 9 Sep 2009 03:34:01 +0000 (22:34 -0500)
basis/cpu/x86/x86.factor

index e124bd8be333e8fca493d6d22d1e4a8c588e3e5d..27b6667c050858949c5d6a41e380a77bc71fce3d 100644 (file)
@@ -251,8 +251,8 @@ M:: x86 %unbox-vector ( dst src rep -- )
 
 M: x86 %broadcast-vector ( dst src rep -- )
     {
-        { float-4-rep [ [ MOVAPS ] [ drop dup 0 SHUFPS ] 2bi ] }
-        { double-2-rep [ [ MOVAPD ] [ drop dup 0 SHUFPD ] 2bi ] }
+        { float-4-rep [ [ MOVSS ] [ drop dup 0 SHUFPS ] 2bi ] }
+        { double-2-rep [ [ MOVSD ] [ drop dup UNPCKLPD ] 2bi ] }
     } case ;
 
 M:: x86 %gather-vector-4 ( dst src1 src2 src3 src4 rep -- )
@@ -263,7 +263,7 @@ M:: x86 %gather-vector-4 ( dst src1 src2 src3 src4 rep -- )
                 dst src1 MOVSS
                 dst src2 UNPCKLPS
                 src3 src4 UNPCKLPS
-                dst src3 HEX: 44 SHUFPS
+                dst src3 MOVLHPS
             ]
         }
     } case ;
@@ -273,8 +273,8 @@ M:: x86 %gather-vector-2 ( dst src1 src2 rep -- )
         {
             double-2-rep
             [
-                dst src1 MOVAPD
-                dst src2 0 SHUFPD
+                dst src1 MOVSD
+                dst src2 UNPCKLPD
             ]
         }
     } case ;