]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/compiler/cfg/intrinsics/simd/simd.factor
use radix literals
[factor.git] / basis / compiler / cfg / intrinsics / simd / simd.factor
index 9d15feb96f0a8323e1d15ccd7780128b86f8017a..b35efc0d970450be6e1f8b0f5c4408490e5b0346 100644 (file)
@@ -22,22 +22,22 @@ IN: compiler.cfg.intrinsics.simd
 : sign-bit-mask ( rep -- byte-array )
     signed-rep {
         { char-16-rep [ uchar-array{
-            HEX: 80 HEX: 80 HEX: 80 HEX: 80
-            HEX: 80 HEX: 80 HEX: 80 HEX: 80
-            HEX: 80 HEX: 80 HEX: 80 HEX: 80
-            HEX: 80 HEX: 80 HEX: 80 HEX: 80
+            0x80 0x80 0x80 0x80
+            0x80 0x80 0x80 0x80
+            0x80 0x80 0x80 0x80
+            0x80 0x80 0x80 0x80
         } underlying>> ] }
         { short-8-rep [ ushort-array{
-            HEX: 8000 HEX: 8000 HEX: 8000 HEX: 8000
-            HEX: 8000 HEX: 8000 HEX: 8000 HEX: 8000
+            0x8000 0x8000 0x8000 0x8000
+            0x8000 0x8000 0x8000 0x8000
         } underlying>> ] }
         { int-4-rep [ uint-array{
-            HEX: 8000,0000 HEX: 8000,0000
-            HEX: 8000,0000 HEX: 8000,0000
+            0x8000,0000 0x8000,0000
+            0x8000,0000 0x8000,0000
         } underlying>> ] }
         { longlong-2-rep [ ulonglong-array{
-            HEX: 8000,0000,0000,0000
-            HEX: 8000,0000,0000,0000
+            0x8000,0000,0000,0000
+            0x8000,0000,0000,0000
         } underlying>> ] }
     } case ;
 
@@ -555,6 +555,10 @@ PREDICATE: fixnum-vector-rep < int-vector-rep
     {
         [ vcc-none ^^test-vector ]
     } emit-v-vector-op ;
+: emit-simd-vgetmask ( node -- )
+    {
+        [ ^^move-vector-mask ]
+    } emit-v-vector-op ;
 
 : emit-simd-v>float ( node -- )
     {
@@ -632,7 +636,7 @@ PREDICATE: fixnum-vector-rep < int-vector-rep
     dup [
         '[
             ds-drop prepare-store-memory
-            _ f ##store-memory-imm
+            _ f ##store-memory-imm,
         ]
         [ byte-array inline-store-memory? ]
         inline-accessor
@@ -700,6 +704,7 @@ PREDICATE: fixnum-vector-rep < int-vector-rep
         { alien-vector              [ emit-alien-vector             ] }
         { set-alien-vector          [ emit-set-alien-vector         ] }
         { assert-positive           [ drop                          ] }
+        { (simd-vgetmask)           [ emit-simd-vgetmask            ] }
     } enable-intrinsics ;
 
 enable-simd