Commit Graph

16859 Commits (1e5bc3b376356dfbb9c212c595ecf62178b902b9)

Author SHA1 Message Date
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 102df64ec7 i suck at reading tech docs--those were m64 instructions, not mm instructions 2009-09-02 12:58:35 -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
Samuel Tardieu 21a89bab0e Make "divisors" work with 1 as well 2009-09-02 12:07:23 +02:00
Slava Pestov e3f5452502 tools.deploy.shaker: fix snafu 2009-09-02 04:30:29 -05:00
Joe Groff 1106fb10f1 let's not forget about hex literals 2009-09-01 21:28:23 -05:00
Joe Groff 1a04bc1124 require numeric literals to begin and end with a digit/decimal point so that stuff like "," and "1," don't parse as numbers 2009-09-01 21:14:26 -05:00
Doug Coleman d2bef9e32a add using to windows.com.wrapper 2009-09-01 18:16:57 -05:00
Doug Coleman b282dd9eac Merge branch 'master' of git://factorcode.org/git/factor 2009-09-01 18:16:31 -05:00
Slava Pestov 988d845c61 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-01 15:51:37 -05:00
Slava Pestov c9113c03cf noise: don't use math.private words 2009-09-01 15:50:56 -05:00
Doug Coleman 9ad468f449 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-01 15:38:52 -05:00
Slava Pestov f91b539c31 cpu.ppc: implement fast float function calls; 3x speedup on benchmark.struct-arrays on PowerPC 2009-09-01 15:19:26 -05:00
Slava Pestov cbaeda3195 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-01 15:00:22 -05:00
Slava Pestov b8aa894960 struct-arrays: fix help lint, throw error if class parameter is not a struct class 2009-09-01 14:58:49 -05:00
Slava Pestov 3c4dc6d4de Merge branch 'master' of git://factorcode.org/git/factor 2009-09-01 14:47:06 -05:00
Slava Pestov 1efcf36083 struct-vectors: update unit test to use new structs 2009-09-01 14:47:04 -05:00
Slava Pestov 7bdd819d51 struct-arrays: remove support for arrays of old-style structs 2009-09-01 14:46:24 -05:00
Slava Pestov 2037667473 io.backend.unix.multiplexers.epoll: update for STRUCT: 2009-09-01 14:46:08 -05:00
Slava Pestov 7f25139cca Merge branch 'master' of git://factorcode.org/git/factor 2009-09-01 14:19:49 -05:00
Doug Coleman eb98b49d74 openbsd defined a struct with freebsd in the name. oops..... 2009-09-01 14:18:29 -05:00
erg 6f7dbb1014 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-01 13:17:05 -05:00
erg 4c354581a9 fix file-systems on the bsds 2009-09-01 13:16:37 -05:00
Joe Groff 522f426ba7 fix help lint failures 2009-09-01 13:04:00 -05:00
Doug Coleman 26cc551049 fix another tuple definition bug 2009-09-01 11:36:06 -05:00
Doug Coleman d46d063f5f inheriting from itself would hang a tuple definition. only breaks if tuple is being redefined 2009-09-01 04:02:44 -05:00
Joe Groff d893f3cdb7 put a more useful mirror over structs 2009-08-31 22:26:03 -05:00
Slava Pestov fdb3cd22cd Merge branch 'master' of git://factorcode.org/git/factor 2009-08-31 20:51:27 -05:00
Joe Groff 4cbd4d4b5c update classes.struct tests, and make struct prettyprinting work again 2009-08-31 20:46:33 -05:00