Commit Graph

321 Commits (8a6c487a48d3a2babfb246978366b0ead252a6e6)

Author SHA1 Message Date
Joe Groff d674ff8191 simd intrinsic implementation for v*high, v*hs+, vavg, and vsad 2009-12-05 14:52:18 -08:00
Joe Groff ebcaaa0d64 Merge branch 'master' into simd-cleanup 2009-11-26 16:14:46 -08:00
Joe Groff ea7c5b6d86 fix buggy simd intrinsics 2009-11-26 13:28:40 -08:00
Joe Groff 804c8c3bcc fix simd intrinsic compilation 2009-11-24 11:37:28 -08:00
Joe Groff faf4df9043 scalar fallbacks for simd intrinsics 2009-11-23 21:24:55 -08:00
Joe Groff 3b17573c7c break simd intrinsics into a separate vocab so they can be intrinsified before the simd methods compile 2009-11-19 11:53:46 -08:00
Slava Pestov 08b6ebc7fa Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Slava Pestov 6d0598a385 heap-size now has a partial-eval instead of being foldable, and the partial-eval adds a dependency on the C type word. Fixes problem where redefining a struct didn't update specialized array 2009-11-15 11:26:37 -06:00
Joe Groff 993631e44c 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 9efff4a322 backend fixups 2009-11-14 20:59:03 -06:00
Slava Pestov aaad7b6b16 compiler.tree.propagation.branches: fix recent constraints change 2009-11-13 07:16:41 -06:00
Slava Pestov b201cc4a6f Fixing call( inline caching 2009-11-13 04:32:33 -06:00
Slava Pestov eb165a5450 Instead of bumping the definition counter every time in the VM, bump it only if stack effects changed or macros were redefined 2009-11-13 03:52:14 -06:00
Slava Pestov 6c7ce97380 compiler.tree.propagation: fix bug in constraints that caused retain stack overflow 2009-11-13 03:22:57 -06:00
Slava Pestov a841083ebe compiler.tree.propagation.transforms: inline push if types are known. Speeds up reverse-complement, sort, sum-file benchmarks 2009-11-12 17:24:32 -06:00
Slava Pestov 2e861d2ff8 compiler.tree.propagation: implementing missing case in branch constraints 2009-11-12 17:24:11 -06:00
Slava Pestov 06fb247b8c Invalidate inline caches used by call( and execute( when words are redefined 2009-11-12 16:09:07 -06:00
Slava Pestov 4168ffbcee New identity-hashcode primitive 2009-11-10 21:18:54 -06:00
Slava Pestov e0d3878c00 stack-checker: tighten some screws in error reporting 2009-11-09 00:17:24 -06:00
Slava Pestov 8f9d4e3d2c stack-checker: split off stack-checker.dependencies from stack-checker.state 2009-11-08 20:34:46 -06:00
Joe Groff b09b0f0686 Merge branch 'master' into simd-cleanup 2009-11-07 22:26:09 -06:00
Joe Groff f780bbddc3 deprimitivize tuck and put it to pasture 2009-11-05 22:47:05 -06:00
Daniel Ehrenberg d860a2febb custom inlining for diff and intersect, when given a literal sequence. this cuts off 1/3 of the running time of a microbenchmark 2009-11-05 13:13:27 -06:00
Joe Groff a279b360eb Merge branch 'master' into simd-cleanup
Conflicts:
	basis/math/vectors/simd/functor/functor.factor
2009-11-05 11:27:08 -06:00
Joe Groff 6cf6252753 update compiler.tree.propagation.simd, and don't load it till math.vectors.simd is loaded 2009-11-02 15:09:16 -06:00
Slava Pestov d65296b334 vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress) 2009-11-02 04:25:54 -06:00
Joe Groff eecef661cf exile roll and -roll to basis/shuffle and mark them deprecated 2009-10-30 17:11:45 -05:00
Joe Groff c6761710a6 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
Doug Coleman b5fd809209 memq? -> member-eq?, sorted-memq? -> sorted-member-eq? 2009-10-28 15:02:00 -05:00
Slava Pestov ba37429563 filter-here -> filter! 2009-10-28 00:44:05 -05:00
Joe Groff 8b6665c57e update existing code for [let change 2009-10-27 22:05:37 -05:00
Joe Groff 9ea0ce5c40 update compiler.tree.cleanup test 2009-10-26 23:01:35 -05:00
Slava Pestov 496d8a990e compiler.tree.propagation: fix broken corner cases in bitand and shift transforms, exposed by Hugh Aguilar's LC53 benchmark 2009-10-24 01:09:32 -05:00
Slava Pestov 47d6507548 compiler.tree.propagation.transforms: fix problem with 'shift' transform when input was a bignum 2009-10-23 07:50:56 -05:00
Slava Pestov 0a3029d9f2 compiler: on PPC, ANDI, ORI and XORI instructions take an unsigned 16-bit immediate, unlike ADDI, SUBI and MULLI which take a signed 16-bit immediate. The code generator was not aware of this, and so for example '[ >fixnum -16 bitand ]' would generate incorrect code. Split up small-enough? hook into immediate-arithmetic? and immediate-bitwise? and update value numbering to be aware of this. Fixes classes.struct bitfields test failure 2009-10-19 04:58:29 -05:00
Joe Groff 61befc8bb1 have vshuffle accept simd-128 variable byte shuffles 2009-10-10 11:30:11 -05:00
Slava Pestov 09fac95fad compiler.tree.propagation.branches: fix live-branches computation for #dispatch nodes 2009-10-10 00:23:50 -05:00
Joe Groff 2bfcd7ed81 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 4972fbcbc9 implement vneg as an intrinsic in terms of load -0, subtract 2009-10-09 13:16:39 -05:00
Daniel Ehrenberg 373f4420e9 Another identity in value numbering for bitfields 2009-10-08 15:20:42 -05:00
Daniel Ehrenberg 316895e6bf Adding identity to propagation to remove some redundant bitands 2009-10-08 00:59:15 -05:00
Joe Groff 96cb1d5038 glue conversion intrinsics to instructions 2009-10-06 20:13:38 -05:00
Joe Groff 3e44e0bb02 rename SIMD vmerge and kids to (vmerge), make new vmerge more generally useful 2009-10-05 17:55:39 -05:00
Joe Groff dca9d3e535 add %merge-vector-head and %merge-vector-tail instructions to back vmerge 2009-10-03 21:48:53 -05:00
Joe Groff 335df20713 add intrinsics for v<=, v<, v=, v>, v>=, vunordered? 2009-10-03 11:29:34 -05:00
Joe Groff e2e75c6b3a add intrinsic for vnot/vbitnot 2009-10-02 20:04:28 -05:00
Joe Groff e153d544eb implement vand, vor, vandn, and vxor as bitwise intrinsics for simd types 2009-10-02 14:17:01 -05:00
Joe Groff 228ad950bb %test-vector instruction for vany?, vall?, vnone? 2009-10-01 15:35:38 -05:00
Joe Groff 94070c11aa %compare-vector instruction (only does v= for now) 2009-10-01 14:31:37 -05:00
Joe Groff 3ba79be651 Revert "add a %blend-vector intrinsic for v?"
This reverts commit 21e4b28b67.
2009-09-30 23:40:37 -05:00