Slava Pestov
|
e1a9b25562
|
cpu.ppc: update for %unary/binary-float-function change
|
2009-09-28 16:40:52 -05:00 |
Slava Pestov
|
4202211293
|
cpu.x86: cleanups
|
2009-09-28 16:38:35 -05:00 |
Joe Groff
|
01f526ff28
|
use PSHUFD for longlong-2 broadcast when dst != src to avoid a %copy
|
2009-09-28 12:04:08 -05:00 |
Joe Groff
|
7520da41cc
|
use MOVDDUP for double-2 broadcast to eliminate a %copy
|
2009-09-28 12:00:03 -05:00 |
Joe Groff
|
2e8bb98781
|
cpu.x86.assembler: make SSE shuffle instructions accept an array of indexes so they're easier to use
|
2009-09-28 11:45:45 -05:00 |
Joe Groff
|
965730efbe
|
SSE integer gather and broadcast
|
2009-09-28 11:24:08 -05:00 |
Slava Pestov
|
4abfe06b51
|
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
|
9a06e6f424
|
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
|
08a2eb74f4
|
cpu.x86: shifts didn't work if dst != src1; re-organize file a bit
|
2009-09-28 05:39:53 -05:00 |
Slava Pestov
|
f73bb2d068
|
cpu.x86.32: fix %unary/binary-float-function on Windows; need to look up symbols in libm and not VM binary
|
2009-09-28 04:51:53 -05:00 |
Slava Pestov
|
7e4b9b6377
|
cpu.x86: fix regression: fsqrt intrinsic wasn't used
|
2009-09-28 02:27:55 -05:00 |
Slava Pestov
|
b2ea3afd84
|
math.vectors.simd: add hlshift, hrshift (128-bit shift), vbitandn intrinsics
|
2009-09-28 02:17:46 -05:00 |
Slava Pestov
|
59fbe85c9b
|
compiler.cfg: nuke ##bignum>integer and ##integer>bignum since they were unused
|
2009-09-27 20:36:05 -05:00 |
Slava Pestov
|
f757b454cc
|
Merge branch 'master' into more_aggressive_coalescing
|
2009-09-27 19:29:50 -05:00 |
Slava Pestov
|
705b4ab5c3
|
compiler.cfg.linear-scan: fix partial sync point logic in case where dst == src, and clean up spilling code
|
2009-09-27 19:28:20 -05:00 |
Slava Pestov
|
91e63c0c6f
|
cpu.x86.32: implement %unary-float-function and %binary-float-function; speeds up partial-sums and struct-arrays benchmarks
|
2009-09-27 18:06:30 -05:00 |
Slava Pestov
|
1e841e5086
|
compiler.cfg.ssa.destruction: more aggressive coalescing work in progress
|
2009-09-27 17:17:26 -05:00 |
Joe Groff
|
dce02fcdfb
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-09-26 20:38:19 -05:00 |
Joe Groff
|
2cf0f3e5d3
|
move alien.inline, alien.cxx, alien.marshall to unmaintained; nuke alien.structs
|
2009-09-26 20:37:42 -05:00 |
sheeple
|
3476f2e28c
|
Fixing PPC backend for ##slot change
|
2009-09-26 13:21:42 -05:00 |
sheeple
|
01a4047126
|
Merge branch 'slots' of git://factorcode.org/git/factor into slots
Conflicts:
basis/cpu/x86/x86.factor
|
2009-09-26 03:12:42 -05:00 |
Daniel Ehrenberg
|
30bca97b61
|
An attempt at porting the slot change to PPC
|
2009-09-26 02:58:18 -05:00 |
Daniel Ehrenberg
|
51f2bbd74b
|
Completing slot and set-slot changes on x86
|
2009-09-26 01:39:48 -05:00 |
Daniel Ehrenberg
|
7bd330cfd5
|
Making ##slot and ##set-slot not have a temporary parameter
|
2009-09-26 00:28:14 -05:00 |
Slava Pestov
|
8610fa5e48
|
cpu: cleanups
|
2009-09-25 21:47:05 -05:00 |
Phil Dawes
|
46f90c7588
|
removed %vm-invoke-*-arg completely
|
2009-09-25 20:03:03 +01:00 |
Phil Dawes
|
d457df1fbf
|
moved %(un)nest-stacks out to cpu specific files to eliminate %vm-invoke from compiler.codegen
|
2009-09-25 19:32:08 +01:00 |
Phil Dawes
|
28420c587a
|
isolated %vm-invoke-blah-arg crap to 64.factor
|
2009-09-25 19:02:41 +01:00 |
Phil Dawes
|
68f85a69b3
|
removed param-reg-* HOOKs
|
2009-09-25 18:58:55 +01:00 |
Phil Dawes
|
a07a2f7496
|
compiler.codegen passes temp reg to %call-gc
|
2009-09-25 18:48:13 +01:00 |
Phil Dawes
|
4552e02624
|
made inline_gc a VM_C_API function
|
2009-09-25 18:29:07 +01:00 |
Slava Pestov
|
93149a6be9
|
Merge branch 'fix_stack_alignment' of git://github.com/phildawes/factor
|
2009-09-24 19:54:51 -05:00 |
Phil Dawes
|
f5c70d4ad7
|
make inline_gc regparm(3) and cleaned up %call-gc stack alignment
|
2009-09-24 21:45:56 +01:00 |
Slava Pestov
|
0686a7a65c
|
cpu.ppc: add representation hooks for shifts
|
2009-09-24 13:00:12 -05:00 |
Slava Pestov
|
cb497f009b
|
Merge branch 'vm_cleanup' of git://github.com/phildawes/factor
|
2009-09-24 04:31:55 -05:00 |
Slava Pestov
|
1b84f179cd
|
cpu.x86: don't generate SSE2 instructions if only SSE1 is available
|
2009-09-24 04:07:15 -05:00 |
Slava Pestov
|
abe3b869cf
|
cpu.ppc: fix compile errors
|
2009-09-24 03:55:01 -05:00 |
Slava Pestov
|
7b6128dd03
|
math.vectors.simd: add v<< and v>> intrinsics for bitwise shifts on elements
|
2009-09-24 03:32:39 -05:00 |
Phil Dawes
|
a3c84ea278
|
x86 bootstrap cleanup: renamed arg to arg1
|
2009-09-24 08:16:57 +01:00 |
Phil Dawes
|
d25fe552ab
|
removed superflous whitspace lines
|
2009-09-24 08:02:14 +01:00 |
Slava Pestov
|
e4d566b1c2
|
cpu.ppc: make it load
|
2009-09-24 00:13:27 -05:00 |
Slava Pestov
|
3d0c9c4337
|
cpu.ppc: fix typos
|
2009-09-23 23:38:17 -05:00 |
Slava Pestov
|
4ec566b15d
|
cpu.x86/ppc: unify register-to-register moves using %copy so that better coalescing can eliminate more moves later
|
2009-09-23 22:49:54 -05:00 |
Slava Pestov
|
3104aa3962
|
cpu.ppc: add dummy vector ops
|
2009-09-23 20:31:12 -05:00 |
Slava Pestov
|
dfc9fd071e
|
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 |
Slava Pestov
|
563ecbd871
|
cpu.x86.assembler: cleanup
|
2009-09-23 19:30:36 -05:00 |
Slava Pestov
|
6d4e5af088
|
cpu.x86.features: don't fold away sse-version, instead memoize it and recompute on startup
|
2009-09-23 05:13:15 -05:00 |
Slava Pestov
|
43fa252af5
|
math.vectors.simd: new operations: vabs vsqrt vbitand vbitor vbitxor
|
2009-09-23 02:47:14 -05:00 |
Slava Pestov
|
d23826906f
|
Merge branch 'master' into integer-simd
|
2009-09-22 20:21:40 -05:00 |
Slava Pestov
|
b0f87fd6a0
|
cpu.ppc: fix load errors
|
2009-09-22 05:24:34 -05:00 |