Commit Graph

17243 Commits (e05f91f3a8bff7a7413e2d0d5bc897e6613e4d71)

Author SHA1 Message Date
Philipp Brüschweiler 8738b3d219 sequences.product: product-each and product-map
misc/vim.syntax.fgen: small fix for quotation highlighting
2009-09-04 16:40:47 +02:00
Slava Pestov f0d5f99d23 io.backend.windows: fix for deployment 2009-09-04 09:27:46 -05:00
Slava Pestov b238a1719f io.backend.windows.nt.privileges: fix make-token-privileges 2009-09-04 09:08:04 -05:00
Slava Pestov f86073733c opengl.glu: fix missing library error on Windows and Linux 2009-09-04 07:57:48 -05:00
Slava Pestov fc1bf07a1f cpu.ppc: fix typo 2009-09-04 06:41:33 -05:00
Slava Pestov c9e04cd8f5 match: cleanup 2009-09-04 06:11:28 -05:00
Slava Pestov 223b907219 Fix sockets on Windows, and re-organize things so that windows.winsock doesn't get loaded by default 2009-09-04 05:02:33 -05:00
Slava Pestov 742db564f3 io.sockets: fix to work in deployed apps 2009-09-04 03:57:57 -05:00
Slava Pestov 7c04b912bb compiler.cfg.value-numbering: update tests for Joe's condition code changes 2009-09-04 03:11:56 -05:00
Slava Pestov 32ecb5d49b benchmark.nbody-simd: use map-reduce instead of reduce 2009-09-04 03:01:41 -05:00
Slava Pestov 4a2823b2eb compiler: tweak generated code 2009-09-04 03:01:18 -05:00
Slava Pestov e11d1e37f5 math.vectors.simd: allow punning SIMD vectors between types 2009-09-04 02:35:58 -05:00
Slava Pestov 6494e7a53b math.vectors.simd: slightly faster 'sum' on 256-bit vectors: add the two components then do horizontal add, instead of doing a horizontal add on each one and adding the results 2009-09-04 02:23:25 -05:00
Slava Pestov c92e54b560 compiler.cfg.intrinsics: fix type detection on the alien type for vector accessors 2009-09-04 02:22:54 -05:00
Slava Pestov 1fc809b643 math.vectors.simd: docs 2009-09-04 01:22:18 -05:00
Slava Pestov 6b5e40b2fc functors: support private words with DEFINES-PRIVATE; use this to make some words generated by math.vectors.simd.functor private 2009-09-04 01:21:59 -05:00
Joe Groff 366946348c make struct-mirror an instance of assoc 2009-09-03 22:31:55 -05:00
Slava Pestov 55c449c6e2 math.vectors.simd: define fallbacks for all vector constructors so that code can still work even if SIMD is not available 2009-09-03 21:37:55 -05:00
Slava Pestov e36a0d7ef4 compiler: clean up code generation for alien boxing/unboxing a bit 2009-09-03 21:22:43 -05:00
Joe Groff c480bec303 convert comparison branch code in compiler to use locals 2009-09-03 21:19:39 -05:00
Slava Pestov 85ae7f531b benchmark.nbody-simd: new benchmark; a version of benchmark.nbody that uses math.vectors.simd:double-4 instead of double-arrays 2009-09-03 20:59:49 -05:00
Slava Pestov 4d5a4222b6 More SIMD work
- Rename SIMD types and register representations: <type>-<count> rather than <count><type>-array
- Make a functor to define 256-bit vector types, use it to define float-8 type
- Make SIMD instructions pure-insns so that they participate in value numbering
2009-09-03 20:58:56 -05:00
Joe Groff a6921edd29 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-03 20:32:27 -05:00
Joe Groff 036ff77306 add compiler comparison codes for floating-point unordered comparisons; update x86 backend to generate proper code for all floating-point comparisons 2009-09-03 20:32:05 -05:00
Joe Groff 1bc97b4624 add unit tests for comparisons against nan 2009-09-03 17:27:06 -05:00
Doug Coleman c6fcb32136 WHAMMY! convert io.sockets.unix 2009-09-03 17:08:54 -05:00
Doug Coleman 475530ef3d update network structs. NO WHAMMY, NO WHAMMY, NO WHAMMY...STOP!!! 2009-09-03 16:57:36 -05:00
Joe Groff 521b3ab12c forget the old struct class when redefining a struct class so the old accessors get purged 2009-09-03 11:12:58 -05:00
Slava Pestov 3d4c04302a Merge branch 'master' into simd 2009-09-03 03:45:58 -05:00
Slava Pestov bf81cb4259 math.vectors.simd: split off intrinsics into a sub-vocabulary, to avoid loading most of the SIMD code on bootstrap 2009-09-03 03:43:43 -05:00
Slava Pestov 906a0d212a Detect SSE version and enable the correct set of SIMD intrinsics 2009-09-03 03:28:38 -05:00
Slava Pestov ae051e0c9a compiler.tree.propagation: type function for clone had an issue, sometimes clone would get optimized out because of incorrect constant folding 2009-09-03 02:40:18 -05:00
Slava Pestov ff8c70dbe0 Initial implementation of SSE vector intrinsics:
- cpu.architecture: add SSE vector representations
- compiler.cfg.intrinsics.alien: remove an attempt at optimization that value numbering handles now
- compiler.cfg.representations: support instructions where the representation is set in the 'rep' slot, and support conversions between single and double floats
- alien-float, set-alien-float now use the single float representation, and the conversion is implicit; this fixes a long-standing bug where a register could get clobbered because of how %set-alien-float was defined on x86
- math.vectors.specialization: add support for SIMD specialization (where the vector word's body is replaced by another quotation), also specialize the 'sum' word
- math.vectors.simd: 4float-array, 2double-array, 4double-array types, and specializers for the math.vectors words
2009-09-03 02:33:07 -05:00
Slava Pestov c719b92363 benchmark.raytracer: replace hard-coded constant with self-documenting code 2009-09-03 02:24:32 -05:00
Slava Pestov 10297b66ce specialized-arrays: fix clone method 2009-09-03 02:24:03 -05:00
Slava Pestov edbe9c4279 struct-arrays: fix new-sequence method 2009-09-03 02:23:37 -05:00
Slava Pestov e86a76a7d8 math.constants: add single float epsilon value 2009-09-03 02:23:22 -05:00
Joe Groff 37a13b2c45 for typed words, put the specialized definition in a gensym, and check the input types and declare the output types in the inlined outer word so the checks can be cleared by the compiler when possible 2009-09-02 18:45:08 -05:00
Joe Groff 1f6d205eef Merge branch 'master' into strong-typing 2009-09-02 15:34:22 -05:00
Joe Groff 102df64ec7 i suck at reading tech docs--those were m64 instructions, not mm instructions 2009-09-02 12:58:35 -05:00
Joe Groff 2338938abe vocab metadata for typed 2009-09-02 12:21:58 -05:00
Joe Groff caecbfc546 Merge branch 'master' into strong-typing 2009-09-02 12:14:02 -05:00
Joe Groff e4158d46fb coerce and check output types on typed words; set "input-classes" and "default-output-classes" props on typed words 2009-09-02 12:13:47 -05:00
Joe Groff aeba336601 separate stack effect typing from hints. put it in a "typed" vocab, and have a TYPED: word that adds the type checking directly to the word 2009-09-02 11:45:30 -05:00
Joe Groff 29b8cc183e Merge branch 'master' of git://factorcode.org/git/factor 2009-09-02 11:07:07 -05:00
Joe Groff 962d560c10 get rid of useless mm->xmm instructions in cpu.x86.assembler, add MOVHLPS and MOVLHPS 2009-09-02 11:06:08 -05:00
Slava Pestov b307c6dac3 Fix tree shaker again, gah 2009-09-02 07:28:40 -05:00
Slava Pestov e3b967fe67 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-02 06:22:44 -05:00
Slava Pestov 85a2bfab6c compiler: eliminate boilerplate by centralizing info in declarative INSN: syntax 2009-09-02 06:22:37 -05:00
Slava Pestov 389f47086a classes.tuple: don't run out of memory inside 'instances' quotation if optimizing compiler is off 2009-09-02 05:19:20 -05:00