Joe Groff
|
67cc1c01be
|
Merge branch 'master' into simd-cleanup
|
2009-11-26 16:14:46 -08:00 |
Joe Groff
|
66d0cafa94
|
fix buggy simd intrinsics
|
2009-11-26 13:28:40 -08:00 |
Joe Groff
|
65d8060075
|
fix simd intrinsic compilation
|
2009-11-24 11:37:28 -08:00 |
Joe Groff
|
d94ffe6d78
|
scalar fallbacks for simd intrinsics
|
2009-11-23 21:24:55 -08:00 |
Joe Groff
|
152b0d2df5
|
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
|
0612bc6177
|
Factor source files should not be executable
|
2009-11-21 17:50:43 -06:00 |
Slava Pestov
|
361c38d5a1
|
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
|
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 |
Slava Pestov
|
7377c96a21
|
compiler.tree.propagation.branches: fix recent constraints change
|
2009-11-13 07:16:41 -06:00 |
Slava Pestov
|
afecb9c758
|
Fixing call( inline caching
|
2009-11-13 04:32:33 -06:00 |
Slava Pestov
|
86da8ebed9
|
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
|
720c412431
|
compiler.tree.propagation: fix bug in constraints that caused retain stack overflow
|
2009-11-13 03:22:57 -06:00 |
Slava Pestov
|
ff25aaef54
|
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
|
7afea4c0ea
|
compiler.tree.propagation: implementing missing case in branch constraints
|
2009-11-12 17:24:11 -06:00 |
Slava Pestov
|
cba12eae37
|
Invalidate inline caches used by call( and execute( when words are redefined
|
2009-11-12 16:09:07 -06:00 |
Slava Pestov
|
cd2e226afa
|
stack-checker: split off stack-checker.dependencies from stack-checker.state
|
2009-11-08 20:34:46 -06:00 |
Joe Groff
|
8894e9047c
|
Merge branch 'master' into simd-cleanup
|
2009-11-07 22:26:09 -06:00 |
Joe Groff
|
00ce8b6a33
|
deprimitivize tuck and put it to pasture
|
2009-11-05 22:47:05 -06:00 |
Daniel Ehrenberg
|
d2fe75276e
|
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
|
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
|
42493b9778
|
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
|
e4ad642134
|
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
|
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 |
Doug Coleman
|
bd13e018dd
|
memq? -> member-eq?, sorted-memq? -> sorted-member-eq?
|
2009-10-28 15:02:00 -05:00 |
Joe Groff
|
935c0797c3
|
update existing code for [let change
|
2009-10-27 22:05:37 -05:00 |
Slava Pestov
|
0c431f1222
|
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
|
e46259bd33
|
compiler.tree.propagation.transforms: fix problem with 'shift' transform when input was a bignum
|
2009-10-23 07:50:56 -05:00 |
Slava Pestov
|
2d5cdd19ec
|
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
|
d9002127fa
|
have vshuffle accept simd-128 variable byte shuffles
|
2009-10-10 11:30:11 -05:00 |
Slava Pestov
|
366c341c5f
|
compiler.tree.propagation.branches: fix live-branches computation for #dispatch nodes
|
2009-10-10 00:23:50 -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 |
Daniel Ehrenberg
|
bb93543054
|
Another identity in value numbering for bitfields
|
2009-10-08 15:20:42 -05:00 |
Daniel Ehrenberg
|
eb31589092
|
Adding identity to propagation to remove some redundant bitands
|
2009-10-08 00:59:15 -05:00 |
Joe Groff
|
785f8620fd
|
glue conversion intrinsics to instructions
|
2009-10-06 20:13:38 -05:00 |
Joe Groff
|
fbe810fc3b
|
rename SIMD vmerge and kids to (vmerge), make new vmerge more generally useful
|
2009-10-05 17:55:39 -05:00 |
Joe Groff
|
0c9c3d4859
|
add %merge-vector-head and %merge-vector-tail instructions to back vmerge
|
2009-10-03 21:48:53 -05:00 |
Joe Groff
|
04bb03bb61
|
add intrinsics for v<=, v<, v=, v>, v>=, vunordered?
|
2009-10-03 11:29:34 -05:00 |
Joe Groff
|
38f413a8a6
|
add intrinsic for vnot/vbitnot
|
2009-10-02 20:04:28 -05:00 |
Joe Groff
|
aa3392e50f
|
implement vand, vor, vandn, and vxor as bitwise intrinsics for simd types
|
2009-10-02 14:17:01 -05:00 |
Joe Groff
|
d14f150b58
|
%test-vector instruction for vany?, vall?, vnone?
|
2009-10-01 15:35:38 -05:00 |
Joe Groff
|
987ced4070
|
%compare-vector instruction (only does v= for now)
|
2009-10-01 14:31:37 -05:00 |
Joe Groff
|
a93f8f66f9
|
Revert "add a %blend-vector intrinsic for v?"
This reverts commit 21e4b28b67 .
|
2009-09-30 23:40:37 -05:00 |
Joe Groff
|
7db7b63552
|
add a %blend-vector intrinsic for v?
|
2009-09-30 23:03:59 -05:00 |
Slava Pestov
|
80e84a357d
|
math.vectors.simd: add vbroadcast intrinsic, fix integer overflow issues
|
2009-09-29 22:58:20 -05:00 |
Slava Pestov
|
f395d83379
|
math.vectors.simd: add fast intrinsic for 'nth', replace broadcast primitive with shuffles
|
2009-09-29 04:48:11 -05:00 |
Slava Pestov
|
e40a95c1e1
|
math.vectors.simd: add vshuffle intrinsic
|
2009-09-28 23:12:13 -05:00 |
Slava Pestov
|
530accdad9
|
io.mmap: fix obsolete tests and get code to inline better
|
2009-09-28 03:18:27 -05:00 |
Slava Pestov
|
b2ea3afd84
|
math.vectors.simd: add hlshift, hrshift (128-bit shift), vbitandn intrinsics
|
2009-09-28 02:17:46 -05:00 |