Commit Graph

478 Commits (fd6f370119b336a046b4d974206f603d178a768c)

Author SHA1 Message Date
Joe Groff 47cfb7d3a5 fix ##load-constant/##scalar>vector folding when constant is a fixnum 2009-10-07 12:46:08 -05:00
Joe Groff 34def34481 don't generate a ##not-vector instruction if the cpu doesn't have one; instead, fall back to a ##fill-vector/##xor-vector combo. get rid of pretend %not-vector in cpu.x86 2009-10-07 11:59:36 -05:00
Joe Groff 8873b7939a fix math.vectors.simd test load failure 2009-10-07 11:56:57 -05:00
Joe Groff 4d4da7ac23 break vector conversion intrinsics off to a math.vectors.conversion.backend vocab so the whole conversion vocab doesn't get sucked in by the compiler 2009-10-06 21:28:33 -05:00
Joe Groff a319dde8b5 add some math.vectors.conversion tests to cover some failing cases 2009-10-06 20:21:08 -05:00
Joe Groff 785f8620fd glue conversion intrinsics to instructions 2009-10-06 20:13:38 -05:00
Joe Groff 4456b1f3f9 assert that vconvert's inputs are of the right type 2009-10-06 17:42:36 -05:00
Joe Groff 166ea6bc10 math.vectors.conversion vocab with primitive words (to be mapped to intrinsics soon) and a super all-in-one "vconvert" macro wrapping the whole thing 2009-10-06 14:37:16 -05:00
Joe Groff fbe810fc3b rename SIMD vmerge and kids to (vmerge), make new vmerge more generally useful 2009-10-05 17:55:39 -05:00
Joe Groff cf4df7eb66 typo in vmerge-head, vmerge-tail docs 2009-10-05 11:14:14 -05:00
Joe Groff 7ed8f00b0f go back to using random instead of uniform-random-float in math.vectors.simd tests because the software and SIMD implementations of norm and v. can sporadically diverge when their different operation orders lead to cancellation of catastrophically small inputs 2009-10-03 22:57:04 -05:00
Joe Groff 626954a071 fix v? software fallback 2009-10-03 22:37:45 -05:00
Joe Groff 0c9c3d4859 add %merge-vector-head and %merge-vector-tail instructions to back vmerge 2009-10-03 21:48:53 -05:00
Joe Groff 05c722ea0c link vmerge into math.vectors docs 2009-10-03 21:48:16 -05:00
Joe Groff d3c51baf91 software version of vmerge word (to be backed by UNPCK instructions on x86 and VMRG instructions on ppc) 2009-10-03 20:22:37 -05:00
Joe Groff 9e61c433f1 Merge branch 'master' of git://factorcode.org/git/factor 2009-10-03 11:48:56 -05:00
Joe Groff 426e560a6b sprinkle some NaNs onto math.vectors.simd fuzz tests to improve flavor 2009-10-03 11:47:02 -05:00
Joe Groff 04bb03bb61 add intrinsics for v<=, v<, v=, v>, v>=, vunordered? 2009-10-03 11:29:34 -05:00
Slava Pestov 8a7e9740c9 math.floats.env: disable trap tests on OpenBSD i386 for now, until The World's Most Secure Operating System fixes a local DoS exploit 2009-10-03 10:59:54 -05:00
Joe Groff 38f413a8a6 add intrinsic for vnot/vbitnot 2009-10-02 20:04:28 -05:00
Doug Coleman 7d005111a4 i messed up a merge. weird 2009-10-02 16:05:00 -05:00
Doug Coleman a070e9a3a9 Merge branch 'master' of git://factorcode.org/git/factor into klazuka
Conflicts:
	basis/math/vectors/vectors-docs.factor
2009-10-02 15:59:19 -05:00
Doug Coleman 67167cf9ea Merge branch 'docs' of git://github.com/klazuka/factor into klazuka
Conflicts:
	basis/math/vectors/vectors-docs.factor
2009-10-02 15:58:45 -05:00
Joe Groff f93dcfc792 give math.vectors shuffle words their own docs subsection in anticipation of having more ops in there 2009-10-02 15:37:49 -05:00
Joe Groff 5ff3eef0df proofreading math.vectors docs 2009-10-02 15:18:42 -05:00
Joe Groff 0821d3f370 add notes to math.vectors docs about simd booleans 2009-10-02 15:11:06 -05:00
Joe Groff aa3392e50f implement vand, vor, vandn, and vxor as bitwise intrinsics for simd types 2009-10-02 14:17:01 -05:00
Keith Lazuka 405e5d015b docs: change $subsection to $subsections 2009-10-02 12:15:48 -04:00
Joe Groff 8b7a813a08 change vector logical words to reuse the input sequence types so that they work as simd fallbacks 2009-10-01 23:49:53 -05:00
Joe Groff 01736e9bec define simd equal? methods as v= vall? 2009-10-01 23:46:37 -05:00
Joe Groff 53b265f682 Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
	basis/compiler/codegen/codegen.factor
2009-10-01 23:14:16 -05:00
Joe Groff 952498ef69 create special intrinsic wrappers for 256-vector>scalar operations so that vall?, vany?, vnone? work on 256-vectors 2009-10-01 23:07:10 -05:00
Joe Groff d5c4ec5357 add tests for v=, vany?, vall?, vnone? 2009-10-01 21:24:14 -05:00
Joe Groff d14f150b58 %test-vector instruction for vany?, vall?, vnone? 2009-10-01 15:35:38 -05:00
Joe Groff 987ced4070 %compare-vector instruction (only does v= for now) 2009-10-01 14:31:37 -05:00
Joe Groff 0c8a4717f2 add software vall?, vany?, vnone? words 2009-10-01 13:21:10 -05:00
Slava Pestov 0db97d536f math.vectors.simd.functor: don't open-code simd-nth and simd-with if we cannot generate double precision FP code. Should fix illegal instruction trap on CPUs with only SSE1 2009-10-01 07:36:50 -05:00
Joe Groff 5ac5a74cc6 write v? and vmask in terms of bitwise ops 2009-10-01 00:09:25 -05:00
Joe Groff a93f8f66f9 Revert "add a %blend-vector intrinsic for v?"
This reverts commit 21e4b28b67.
2009-09-30 23:40:37 -05:00
Joe Groff 67cc45235d Merge branch 'master' of git://factorcode.org/git/factor 2009-09-30 23:04:04 -05:00
Joe Groff 7db7b63552 add a %blend-vector intrinsic for v? 2009-09-30 23:03:59 -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
Joe Groff e56cd5cc12 accept f and t as elements of literal simd vectors, storing binary all-zeroes or all-ones 2009-09-30 19:04:02 -05:00
Joe Groff e0f3b72c65 break math.vectors docs into subsections 2009-09-30 13:21:25 -05:00
Joe Groff 7e679e1683 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-30 00:07:45 -05:00
Joe Groff 55ab9c3002 docs for new math.vectors logical ops 2009-09-30 00:07:37 -05:00
Slava Pestov d70b95e4b8 math.vectors.simd: fix bad comparison logic in unit tests 2009-09-29 23:46:21 -05:00
Slava Pestov 0a29e64287 math.functions: ~ now raises an invalid operation FP trap if one of the inputs is NaN 2009-09-29 23:41:08 -05:00
Slava Pestov eeb601dade Merge branch 'master' of git://factorcode.org/git/factor 2009-09-29 22:59:58 -05:00
Slava Pestov 80e84a357d math.vectors.simd: add vbroadcast intrinsic, fix integer overflow issues 2009-09-29 22:58:20 -05:00