]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/compiler/cfg/value-numbering/simd/simd.factor
factor: trim using lists
[factor.git] / basis / compiler / cfg / value-numbering / simd / simd.factor
index d17e4ce289aae9d8d17f4094ba330454d9cd6e55..2502e03cfab4a408a650634b150887c05bffaace 100644 (file)
@@ -5,15 +5,14 @@ combinators.short-circuit compiler.cfg.instructions
 compiler.cfg.utilities compiler.cfg.value-numbering.graph
 compiler.cfg.value-numbering.math
 compiler.cfg.value-numbering.rewrite cpu.architecture
-generalizations grouping io.binary kernel locals make math
-sequences ;
+endian generalizations grouping kernel make math sequences ;
 IN: compiler.cfg.value-numbering.simd
 
 ! Some lame constant folding for SIMD intrinsics. Eventually this
 ! should be redone completely.
 
 : useless-shuffle-vector-imm? ( insn -- ? )
-    [ shuffle>> ] [ rep>> rep-length iota ] bi sequence= ;
+    [ shuffle>> ] [ rep>> rep-length <iota> ] bi sequence= ;
 
 : compose-shuffle-vector-imm ( outer inner -- insn' )
     2dup [ rep>> ] bi@ eq? [
@@ -85,8 +84,8 @@ M: ##gather-int-vector-2 rewrite rewrite-gather-vector-2 ;
 : rewrite-gather-vector-4 ( insn -- insn/f )
     dup { [ src1>> ] [ src2>> ] [ src3>> ] [ src4>> ] } cleave [ vreg>insn ] 4 napply
     {
-        { [ 4 ndup [ literal-insn? ] 4 napply and and and ] [ fold-gather-vector-4 ] }
-        [ 5 ndrop f ]
+        { [ 4dup [ literal-insn? ] 4 napply and and and ] [ fold-gather-vector-4 ] }
+        [ 5drop f ]
     } cond ;
 
 M: ##gather-vector-4 rewrite rewrite-gather-vector-4 ;