Commit Graph

161 Commits (736be2716243efdd0442803e642783effbd1d27f)

Author SHA1 Message Date
Joe Groff 736be27162 move methods back into simd functor so the intrinsics can compile 2009-11-19 11:29:15 -08:00
Joe Groff c07f3212f9 fix effect of set-alien-vector 2009-11-18 22:18:42 -08:00
Joe Groff a3e4ecfc7d enable simd intrinsics and fix first-pass compiler errors 2009-11-18 20:32:05 -08:00
Joe Groff 243e5b43ce fixes for stronger stack checker 2009-11-14 22:25:00 -06:00
Joe Groff f544982fda Merge branch 'master' of git://factorcode.org/git/factor into simd-cleanup
Conflicts:
	basis/math/vectors/simd/functor/functor.factor
2009-11-14 21:02:39 -06:00
Joe Groff 8a8699ac98 backend fixups 2009-11-14 20:59:03 -06:00
Joe Groff e323071c44 sever lingering dependencies on simd from compiler 2009-11-11 16:08:40 -06:00
Slava Pestov e9a7191050 Fix struct field alignment on PowerPC 2009-11-10 19:34:14 -06:00
Slava Pestov 425e9d0dde Fix some test failures 2009-11-10 16:48:06 -06:00
Joe Groff 75d04922b9 Merge branch 'master' into simd-cleanup
Conflicts:
	basis/math/vectors/simd/functor/functor.factor
2009-11-05 11:27:08 -06:00
Joe Groff 4d54f27cd1 more intrinsic madness 2009-11-05 09:52:57 -06:00
Slava Pestov 2b1a26228b Align stack pointer on non-Mac OS X x86-32 platforms, and use aligned loads/stores for SIMD values 2009-11-03 23:51:44 -06:00
Joe Groff b98742be30 typos 2009-11-03 21:38:55 -06:00
Joe Groff 73d2a75644 remove math.vectors .specialization, .simd.functor, .simd.intrinsics 2009-11-02 15:00:39 -06:00
Joe Groff 9cf3ab3da1 redo math.vectors.simd to use generics for specialization 2009-11-02 14:59:07 -06:00
Joe Groff e0ba0c5539 genericize vector ops 2009-11-02 14:21:19 -06:00
Joe Groff b858860a67 add ##shl-vector-imm and ##shr-vector-imm insn variants. use merge/shr instead of compare/merge to do signed unpacks 2009-10-30 00:41:19 -05:00
Joe Groff 3fbe722561 Merge branch 'master' of http://factorcode.org/git/factor
Conflicts:
	basis/locals/locals.factor
	basis/peg/peg.factor
	extra/infix/infix.factor
2009-10-28 16:17:24 -05:00
Joe Groff 6e1bffb1c5 update existing code to use :> ( ) when possible 2009-10-28 16:11:33 -05:00
Doug Coleman bd13e018dd memq? -> member-eq?, sorted-memq? -> sorted-member-eq? 2009-10-28 15:02:00 -05:00
Slava Pestov bbedd03f6b mirrors: don't depend on specialized-arrays, it pulls in too much 2009-10-23 04:24:20 -05:00
Joe Groff 84f203afcc math.matrices: vectorizable definition of cross 2009-10-22 16:26:25 -05:00
Joe Groff bedfc8f13c vif combinator 2009-10-20 22:49:20 -05:00
Joe Groff 8a6b0a1453 generate unsigned vector comparison fallbacks using min/max or xor/signed compare 2009-10-20 22:30:57 -05:00
Joe Groff cb36111a3c generate better fallback code for vmin/vmax intrinsics 2009-10-20 19:22:38 -05:00
Joe Groff 6f72c3ca24 Merge branch 'master' of git://factorcode.org/git/factor 2009-10-20 17:42:29 -05:00
Joe Groff 34344be636 clean up vector lerp functions to be better vectorizable 2009-10-20 17:11:22 -05:00
Slava Pestov 248f178e64 math.vectors: fix behavioral difference between generic vector vmin vmax and float specialized versions thereof 2009-10-20 07:06:44 -05:00
Joe Groff b212e8edd0 inline trilerp so that perlin-noise is pretty much instantaneous 2009-10-19 15:11:59 -05:00
Joe Groff b411f1701a make vshuffle-bytes intrinsic for any shuffle mask type 2009-10-19 12:25:55 -05:00
Joe Groff fca550d567 math.vectors.conversion docs 2009-10-18 21:25:09 -05:00
Joe Groff 2a156795c5 update vshuffle docs 2009-10-18 16:34:44 -05:00
Joe Groff 0653bae7ec scuttle bogus math.vectors.simd test 2009-10-17 18:47:31 -05:00
Joe Groff b9d2c068a4 fix sporadic "fall-through in cond" failure in float math.vectors.simd tests 2009-10-17 16:54:51 -05:00
Joe Groff 421b61f0e8 fix type propagation information put on non-SIMD specializations of vany?, vall?, vnone? 2009-10-17 11:21:08 -05:00
Joe Groff 7f001ee312 make hlshift/hrshift simd tests endian agnostic 2009-10-17 00:34:35 -05:00
Slava Pestov 4ed91ff5ee syntax: fix docs for : 2009-10-16 23:45:10 -05:00
Joe Groff dd6308ead5 improve error reporting of failing simd fallbacks 2009-10-16 16:34:26 -05:00
Joe Groff 448ef2f1d5 fix unsigned vector unpack 2009-10-16 14:25:33 -05:00
Slava Pestov 48f4799505 math.vectors.simd: fix typos in docs reported by Ed Swartz 2009-10-13 05:13:22 -05:00
Joe Groff 588899a1b3 fix fallbacks for vall?, vany?, vnone? 2009-10-10 13:01:13 -05:00
Joe Groff 1407804393 change the simd-struct tests to cover integer vector slots 2009-10-10 12:23:25 -05:00
Joe Groff d9002127fa have vshuffle accept simd-128 variable byte shuffles 2009-10-10 11:30:11 -05:00
Joe Groff 3bc097f6ff rename ##shuffle-vector to ##shuffle-vector-imm, and add a new ##shuffle-vector for dynamic shuffles. have vshuffle use ##shuffle-vector to do word and byte shuffles on x86 2009-10-09 21:26:27 -05:00
Joe Groff 471c86a110 generate better code for vabs when instruction isn't available instead of using software fallback (-0.0 andn for floats, x > 0 ? x : -x for signed ints, nop for unsigned ints) 2009-10-09 14:24:55 -05:00
Joe Groff 01f5d392be implement vneg as an intrinsic in terms of load -0, subtract 2009-10-09 13:16:39 -05:00
Joe Groff 07aa2620c6 add SIMDS: ... ; and SPECIALIZED-ARRAYS: ... ; syntax 2009-10-09 10:43:37 -05:00
Joe Groff 531cfa1c33 refactor math.vectors.conversion 2009-10-08 11:35:40 -05:00
Joe Groff f2c9eb79e2 decompose %unpack-vector-head/tail into %compare-vector/%merge-vector-head/tail or %tail>head-vector/%unpack-vector-head insns when there isn't an actual unpack insn; get rid of fake x86 implementations 2009-10-07 14:09:46 -05:00
Joe Groff 47cfb7d3a5 fix ##load-constant/##scalar>vector folding when constant is a fixnum 2009-10-07 12:46:08 -05:00