Commit Graph

389 Commits (f45a6df8e510131642a7639a1bbde9cea8494805)

Author SHA1 Message Date
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
Slava Pestov 603a560eaf cpu.x86: fix using list 2009-09-20 23:24:30 -05:00
Slava Pestov 9d90bdd439 Fix conflict 2009-09-20 23:18:07 -05:00
Slava Pestov ea44ea3522 math.vectors.simd: add saturated arithmetic operations 2009-09-20 23:16:02 -05:00
Slava Pestov acea55c692 math.vectors: add v+- word which is accelerated by SSE3 2009-09-20 17:43:16 -05:00
Slava Pestov 47d8763340 More integer SIMD work
- move generated vocab support from specialized-arrays to vocabs.generated
- add fuzz testing to math.vectors.simd
- add alien type support for integer SIMD vectors
- SIMD: parsing word generates a SIMD type, instead of pre-generating them all in math.vectors.simd
2009-09-20 16:48:17 -05:00
Slava Pestov 29c4512066 cpu.x86: cleanup 2009-09-20 04:17:34 -05:00
Slava Pestov f8a91438cd Merge Phil Dawes' VM work 2009-09-20 03:48:08 -05:00