Slava Pestov
|
69829a534d
|
cpu.ppc: fix again
|
2009-10-01 07:44:14 -05:00 |
Slava Pestov
|
2384b630b2
|
math.vectors.simd: use fallbacks for hlshift, hrshift, vshuffle if parameter is not a literal;al; element access in int-4 on x86-64 now sign-extends the value; don't throw error at compile time if parameter for vshuffle does not have enough elements
|
2009-09-30 20:04:37 -05:00 |
Slava Pestov
|
a7dd4ad5cc
|
cpu.ppc: update for alien intrinsic changes
|
2009-09-30 18:22:59 -05:00 |
Slava Pestov
|
cdc7b7e2c7
|
Various minor compiler tweaks: Combine address calculation with dereferencing in alien accessors; convert SIMD XOR of a vector with itself into an XOR of the destination with itself; convert SIMD unbox of zero vector into XOR of the destination with itself; fix SIMD indexing on x86-64
|
2009-09-30 05:00:36 -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
|
a8ea929ad9
|
Work in progress
|
2009-09-28 17:31:34 -05:00 |
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 |