Commit Graph

72 Commits (86593598d0b27c7ec9cdf3d4651c446867110b7a)

Author SHA1 Message Date
Slava Pestov 65421b111b math.vectors.simd: use fallbacks for hlshift, hrshift, vshuffle if parameter is not a literal;al; element access in int-4 on x86-64 now sign-extends the value; don't throw error at compile time if parameter for vshuffle does not have enough elements 2009-09-30 20:04:37 -05:00
Joe Groff d065203df4 break math.vectors docs into subsections 2009-09-30 13:21:25 -05:00
Joe Groff ddcbdae778 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-30 00:07:45 -05:00
Joe Groff f38107c4cd docs for new math.vectors logical ops 2009-09-30 00:07:37 -05:00
Slava Pestov 14e82bcd7a math.vectors.simd: fix bad comparison logic in unit tests 2009-09-29 23:46:21 -05:00
Slava Pestov 1c8662ce4a math.vectors.simd: add vbroadcast intrinsic, fix integer overflow issues 2009-09-29 22:58:20 -05:00
Joe Groff 3c497cd2b8 add a "vmask" vector op to selectively zero out elements 2009-09-29 18:10:36 -05:00
Slava Pestov 2b13245704 math.vectors.simd: add fast intrinsic for 'nth', replace broadcast primitive with shuffles 2009-09-29 04:48:11 -05:00
Slava Pestov a6e8277b2c math.vectors.simd: add vshuffle intrinsic 2009-09-28 23:12:13 -05:00
Slava Pestov db217295b0 Work in progress 2009-09-28 17:31:34 -05:00
Slava Pestov e8243f7504 Fix some load errors in various places 2009-09-28 16:33:39 -05:00
Slava Pestov f08521bf83 Fixing various test failures caused by C type parser change, and clarify C type docs some more 2009-09-28 08:48:39 -05:00
Slava Pestov 1109fb5725 math.vectors.simd: add intrinsic for int-4-boa, uint-4-boa, fix tests for C type parser change, fix software fallback for horizontal shifts 2009-09-28 06:34:22 -05:00
Slava Pestov 10c5fe5933 math.vectors.simd: add hlshift, hrshift (128-bit shift), vbitandn intrinsics 2009-09-28 02:17:46 -05:00
Slava Pestov 23ec1b85e8 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-27 17:18:16 -05:00
Slava Pestov 31cb338fc9 math.vectors.simd: add *-cast words for converting between representations 2009-09-27 17:18:02 -05:00
Joe Groff 4035bf88a1 software implementations of vector logical ops (vand, vor, vxor, vnot, v</=/>, vunordered?, v?) 2009-09-27 13:19:22 -05:00
Slava Pestov be214f9142 math.vectors: remove special handling for negative shifts, now we just say the behavior of vlshift and vrshift with negative shifts is undefined 2009-09-26 02:26:31 -05:00
Slava Pestov 26c83d262c math.vectors: fix SIMD unit tests 2009-09-25 21:44:14 -05:00
Slava Pestov d518bed6b7 math.vectors: change vlshift and vrshift to mask the shift count by HEX: ff, to make them behave consistently with their SIMD counterparts 2009-09-25 18:50:44 -05:00
Slava Pestov e5b94b11d7 Some fixes and cleanups in math.vectors
- Tighten up type inference for operations on complex float arrays
- Fix v. to have correct behavior with complex numbers
- Rename v<< and v>> to vlshift and vrshift to avoid clashing with v>> accessor
2009-09-24 06:58:33 -05:00
Slava Pestov 24039cb56a math.vectors.simd: add v<< and v>> intrinsics for bitwise shifts on elements 2009-09-24 03:32:39 -05:00
Slava Pestov 165496d2f2 Add longlong-2, ulonglong-2, longlong-4, ulonglong-4 SIMD types, fix int-4 multiplication on SSE2 2009-09-23 20:23:25 -05:00
Doug Coleman ebbcfd7ffc fix using 2009-09-23 12:47:20 -05:00
Doug Coleman abb8a221db Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
	basis/math/vectors/simd/simd-docs.factor
2009-09-23 10:11:49 -05:00
Slava Pestov 7cc383614c math.vectors.simd: Improved documentation 2009-09-23 03:14:06 -05:00
Slava Pestov 8d84bcb61a math and math.vectors: improved documentation 2009-09-23 03:08:45 -05:00
Slava Pestov abac963882 math.vectors.simd: new operations: vabs vsqrt vbitand vbitor vbitxor 2009-09-23 02:47:14 -05:00
Slava Pestov 863ccb61d6 math.vectors.simd: fix all tests 2009-09-23 01:05:19 -05:00
Slava Pestov 66871995c9 math.vectors.simd: add saturated arithmetic operations 2009-09-20 23:16:02 -05:00
Doug Coleman 026761ed62 Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
	basis/classes/struct/struct-tests.factor
	basis/functors/functors-tests.factor
	basis/specialized-arrays/specialized-arrays-tests.factor
2009-09-20 23:02:49 -05:00
Doug Coleman 47fab85a00 replace usages of <" with """ 2009-09-20 22:42:40 -05:00
Slava Pestov 78c949b9b7 math.vectors: add v+- word which is accelerated by SSE3 2009-09-20 17:43:16 -05:00
Slava Pestov dfb43bd2ca More integer SIMD work
- move generated vocab support from specialized-arrays to vocabs.generated
- add fuzz testing to math.vectors.simd
- add alien type support for integer SIMD vectors
- SIMD: parsing word generates a SIMD type, instead of pre-generating them all in math.vectors.simd
2009-09-20 16:48:17 -05:00
Slava Pestov ea2bcd69c7 math.vectors.simd: redesign to be more flexible, integer SIMD work in progress 2009-09-20 02:08:32 -05:00
Joe Groff 4a1422e7fe move some allocation words that don't really have much to do with c types out of alien.c-types into a new alien.data vocab 2009-09-17 22:36:05 -05:00
Joe Groff 21a0722752 fix more ambiguities 2009-09-17 09:29:23 -05:00
Slava Pestov 18cb09a115 math.vectors.simd: don't run x86-specific tests on PPC 2009-09-11 21:38:40 -05:00
Slava Pestov 527db8995a Specialized array overhaul
- Replace hand-written specialized-arrays.* subvocabularies with new system; instead of USE:ing specialized-arrays.T, do SPECIALIZED-ARRAY: T
- Ditto for specialized-vectors; use SPECIALIZED-VECTOR:
- io.mmap.functor: removed entirely, use <mapped-array> instead
- struct-arrays and struct-vectors have been removed because specialized arrays and vectors subsume them entirely
2009-09-09 22:33:34 -05:00
Slava Pestov 3e90786bc1 Fix various test failures 2009-09-08 19:18:56 -05:00
Slava Pestov 0d01371baf math.vectors.simd: fix help rendering 2009-09-08 14:49:27 -05:00
Slava Pestov c23e1dc1de math.vectors.simd: remove useless dependency 2009-09-08 13:55:56 -05:00
Slava Pestov ab64d187c9 Merge branch 'master' into simd 2009-09-08 13:38:14 -05:00
Slava Pestov 1e9f870e66 math.vectors.specialization: specialized vector words are now subwords of the generic vector word. This ensures that specializations get compiled correctly in all cases 2009-09-08 13:37:25 -05:00
Slava Pestov ef09991500 Fixes 2009-09-08 00:13:18 -05:00
Slava Pestov 1c87486320 math.vectors.simd: allow punning SIMD vectors between types 2009-09-04 02:35:58 -05:00
Slava Pestov 136d6a42f3 math.vectors.simd: slightly faster 'sum' on 256-bit vectors: add the two components then do horizontal add, instead of doing a horizontal add on each one and adding the results 2009-09-04 02:23:25 -05:00
Slava Pestov af14fd78dd math.vectors.simd: docs 2009-09-04 01:22:18 -05:00
Slava Pestov fc195f33f1 functors: support private words with DEFINES-PRIVATE; use this to make some words generated by math.vectors.simd.functor private 2009-09-04 01:21:59 -05:00
Slava Pestov 698f32c4a1 math.vectors.simd: define fallbacks for all vector constructors so that code can still work even if SIMD is not available 2009-09-03 21:37:55 -05:00