diff options
author | Rodrigo Kumpera <kumpera@gmail.com> | 2011-01-09 22:55:01 +0300 |
---|---|---|
committer | Rodrigo Kumpera <kumpera@gmail.com> | 2011-01-10 12:42:00 +0300 |
commit | 7d3a6b23ce70400ff27e17b0dcf71fc3bfcdf0f0 (patch) | |
tree | 6054f1f05b6d684e8be3be750602766f86c2baef /mcs/class/Mono.Simd | |
parent | d82dda826cac68d075395b10b3378cc395e5f716 (diff) |
Fix 64bits Shuffle/3 when simd intrinsics are disabled
Diffstat (limited to 'mcs/class/Mono.Simd')
-rw-r--r-- | mcs/class/Mono.Simd/Mono.Simd/VectorOperations.cs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/mcs/class/Mono.Simd/Mono.Simd/VectorOperations.cs b/mcs/class/Mono.Simd/Mono.Simd/VectorOperations.cs index 4e80db5a106..61ff2757454 100644 --- a/mcs/class/Mono.Simd/Mono.Simd/VectorOperations.cs +++ b/mcs/class/Mono.Simd/Mono.Simd/VectorOperations.cs @@ -993,7 +993,7 @@ namespace Mono.Simd { double *p1 = (double*)&v1; double *p2 = (double*)&v2; - return new Vector2d (*(p1 + ((sel >> 0) & 0x3)), *(p2 + ((sel >> 2) & 0x3))); + return new Vector2d (*(p1 + ((sel >> 0) & 0x1)), *(p2 + ((sel >> 1) & 0x1))); } [Acceleration (AccelMode.SSE2)] @@ -1001,7 +1001,7 @@ namespace Mono.Simd { long *p1 = (long*)&v1; long *p2 = (long*)&v2; - return new Vector2l (*(p1 + ((sel >> 0) & 0x3)), *(p2 + ((sel >> 2) & 0x3))); + return new Vector2l (*(p1 + ((sel >> 0) & 0x1)), *(p2 + ((sel >> 1) & 0x1))); } [Acceleration (AccelMode.SSE2)] @@ -1009,7 +1009,7 @@ namespace Mono.Simd { ulong *p1 = (ulong*)&v1; ulong *p2 = (ulong*)&v2; - return new Vector2ul (*(p1 + ((sel >> 0) & 0x3)), *(p2 + ((sel >> 2) & 0x3))); + return new Vector2ul (*(p1 + ((sel >> 0) & 0x1)), *(p2 + ((sel >> 1) & 0x1))); } [Acceleration (AccelMode.SSE2)] |