From 465a1673eb448420c70edc1b14ffbb1443007030 Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Fri, 14 May 2010 01:20:05 -0700 Subject: [PATCH] compiler.cfg.intrinsics.simd: mod shuffle indices for shuffle-2-vectors-imm intrinsic so they wrap like a real instruction would --- basis/compiler/cfg/intrinsics/simd/simd.factor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/basis/compiler/cfg/intrinsics/simd/simd.factor b/basis/compiler/cfg/intrinsics/simd/simd.factor index c4a2d41c91..b18eb9ded4 100644 --- a/basis/compiler/cfg/intrinsics/simd/simd.factor +++ b/basis/compiler/cfg/intrinsics/simd/simd.factor @@ -278,7 +278,7 @@ PREDICATE: fixnum-vector-rep < int-vector-rep : ^shuffle-2-vectors-imm ( src1 src2 shuffle rep -- dst ) [ rep-length 0 pad-tail ] keep { { double-2-rep [| src1 src2 shuffle rep | - shuffle first2 :> ( i j ) + shuffle first2 [ 4 mod ] bi@ :> ( i j ) { { [ i j [ 2 < ] both? ] [ src1 shuffle rep ^shuffle-vector-imm