Slava Pestov
|
38bafd2be8
|
compiler.cfg.linear-scan.assignment: spill slot representation logic was backwards, just like Factor
|
2010-05-03 17:34:29 -04:00 |
Slava Pestov
|
cea21f6a3d
|
math.vectors: (vmerge) shouldn't be generic
|
2010-04-29 02:28:05 -04:00 |
Slava Pestov
|
4ee9e5336f
|
math.vectors.simd.cords: a dash of inline sauce
|
2010-04-29 01:58:56 -04:00 |
Daniel Ehrenberg
|
aa6158b366
|
Changing require-when usages to the new syntax for require-when
|
2010-04-18 14:29:24 -05:00 |
Daniel Ehrenberg
|
4af88ff9ff
|
Making more vocabs use require-when
|
2010-03-18 01:39:30 -04:00 |
Slava Pestov
|
af0ddd5985
|
Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams
|
2010-02-24 20:18:41 +13:00 |
Slava Pestov
|
ff172f4132
|
Make specialized arrays and SIMD types final so that typed can unbox them
|
2010-02-18 02:39:40 +13:00 |
Slava Pestov
|
f01487eb83
|
A few documentation fixes
|
2010-02-17 00:05:36 +13:00 |
Slava Pestov
|
f804c9c422
|
Move compile-call and related words only meant to be used for debugging to compiler.test
|
2010-01-23 00:39:56 +13:00 |
Slava Pestov
|
8836ce2581
|
Fix performance regression in vector ops on specialized arrays, tweak definition of <slice> and 2map-reduce to generate fewer conditionals
|
2010-01-19 17:48:10 +13:00 |
Doug Coleman
|
4c71d71907
|
random is generic now -- iota random -> random
|
2010-01-14 12:48:57 -06:00 |
Slava Pestov
|
df4fb4a3ee
|
Removing integers-as-sequences
|
2010-01-15 07:15:33 +13:00 |
Slava Pestov
|
47a5e96547
|
Rework min and max so that behavior with floats and NaNs is consistent between generic arithmetic and open-coded float intrinsics
|
2010-01-13 22:20:16 +13:00 |
Joe Groff
|
6b9c4254ad
|
move simd operation methods onto simd-128 instead of concrete classes to save image space
|
2009-12-05 21:19:17 -08:00 |
Joe Groff
|
2b2be5f121
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-12-05 17:18:49 -08:00 |
Joe Groff
|
3e40a36c50
|
fix simd tests
|
2009-12-05 17:17:16 -08:00 |
Joe Groff
|
d412845b41
|
add v*high, v*hs+, vsad, and vavg to simd fuzz tests
|
2009-12-05 15:42:41 -08:00 |
Joe Groff
|
af39e5d52c
|
missing USING:s
|
2009-12-05 15:38:57 -08:00 |
Slava Pestov
|
abe72ae7ae
|
math.vectors.simd: ensure that set-alien-vector is open-coded in the actual set-nth-unsafe method on SIMD specialized arrays, not just inlined instances
|
2009-12-05 18:20:57 -05:00 |
Joe Groff
|
104c29aabc
|
simd intrinsic implementation for v*high, v*hs+, vavg, and vsad
|
2009-12-05 14:52:18 -08:00 |
Joe Groff
|
1845915dc6
|
add v*high, v*hs+, vavg, and vsad operations to math.vectors
|
2009-12-05 11:32:31 -08:00 |
Joe Groff
|
36b0b65320
|
move sequence instance to individual SIMD types rather than simd-128 parent type so that "hashcode*" doesn't attempt to use the sequence implementation of hashcode on abstract simd-128 objects
|
2009-12-04 13:22:59 -08:00 |
Joe Groff
|
53ca7f208b
|
update math.vectors docs for simd changes
|
2009-12-04 13:21:18 -08:00 |
Joe Groff
|
66d0cafa94
|
fix buggy simd intrinsics
|
2009-11-26 13:28:40 -08:00 |
Joe Groff
|
ac5d3d5652
|
remove SIMDS:
|
2009-11-26 11:15:46 -08:00 |
Joe Groff
|
0795c60b83
|
"norm" doesn't need to be generic, "norm-sq sqrt" always works
|
2009-11-26 11:15:35 -08:00 |
Joe Groff
|
7da80f65e7
|
trick math.vectors.simd into making nicer quotations
|
2009-11-25 20:24:09 -08:00 |
Joe Groff
|
4027002db7
|
remove SIMD:s
|
2009-11-25 20:21:54 -08:00 |
Joe Groff
|
578a0e3fd5
|
math.vectors.simd.cords vocab that defines vector cords
|
2009-11-25 18:01:58 -08:00 |
Joe Groff
|
46f0aa6421
|
move cords to sequences.cords
|
2009-11-24 22:56:42 -08:00 |
Joe Groff
|
9128f1f160
|
remove mentions of 256-bit vectors from math.vectors.simd
|
2009-11-24 22:26:16 -08:00 |
Joe Groff
|
3f5b3c2c1b
|
fix math.vectors.conversion help-lint
|
2009-11-24 22:20:43 -08:00 |
Joe Groff
|
d344023b1c
|
update math.vectors.conversion
|
2009-11-24 20:53:40 -08:00 |
Joe Groff
|
c98eb84943
|
make math.vectors.simd tests pass again
|
2009-11-24 18:30:12 -08:00 |
Joe Groff
|
d94ffe6d78
|
scalar fallbacks for simd intrinsics
|
2009-11-23 21:24:55 -08:00 |
Joe Groff
|
6794d14652
|
typo
|
2009-11-19 12:17:14 -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 |
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 |
Joe Groff
|
34def34481
|
don't generate a ##not-vector instruction if the cpu doesn't have one; instead, fall back to a ##fill-vector/##xor-vector combo. get rid of pretend %not-vector in cpu.x86
|
2009-10-07 11:59:36 -05:00 |
Joe Groff
|
8873b7939a
|
fix math.vectors.simd test load failure
|
2009-10-07 11:56:57 -05:00 |
Joe Groff
|
4d4da7ac23
|
break vector conversion intrinsics off to a math.vectors.conversion.backend vocab so the whole conversion vocab doesn't get sucked in by the compiler
|
2009-10-06 21:28:33 -05:00 |
Joe Groff
|
a319dde8b5
|
add some math.vectors.conversion tests to cover some failing cases
|
2009-10-06 20:21:08 -05:00 |
Joe Groff
|
785f8620fd
|
glue conversion intrinsics to instructions
|
2009-10-06 20:13:38 -05:00 |
Joe Groff
|
4456b1f3f9
|
assert that vconvert's inputs are of the right type
|
2009-10-06 17:42:36 -05:00 |
Joe Groff
|
166ea6bc10
|
math.vectors.conversion vocab with primitive words (to be mapped to intrinsics soon) and a super all-in-one "vconvert" macro wrapping the whole thing
|
2009-10-06 14:37:16 -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
|
cf4df7eb66
|
typo in vmerge-head, vmerge-tail docs
|
2009-10-05 11:14:14 -05:00 |
Joe Groff
|
7ed8f00b0f
|
go back to using random instead of uniform-random-float in math.vectors.simd tests because the software and SIMD implementations of norm and v. can sporadically diverge when their different operation orders lead to cancellation of catastrophically small inputs
|
2009-10-03 22:57:04 -05:00 |
Joe Groff
|
626954a071
|
fix v? software fallback
|
2009-10-03 22:37:45 -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
|
05c722ea0c
|
link vmerge into math.vectors docs
|
2009-10-03 21:48:16 -05:00 |