Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Dot product

Name: Anonymous 2011-08-02 14:18

Single precision floating point.
System V AMD64 ABI convention.


sses_dot:
    movaps xmm0, [rdi]
    mulps xmm0, [rsi]
    haddps xmm0, xmm0
    haddps xmm0, xmm0
    ret

Name: Anonymous 2011-08-02 22:33

Also, to the ``lifthp faggots'' in this thread, does your Lisp compiler generate SSE SIMD instructions out of the box from regular code? I guarantee you that it does not.

Instead, you have to hack it in, and write your own XMM register allocator.

http://www.pvk.ca/Blog/Lisp/hacking_SSE_intrinsics-part_1.html

Name: Anonymous 2011-08-02 22:51

>>20
This. And then you need to write your own versions of operator *, operator +, map and foldr that are SSE-aware and can detect when the operands are SSE vectors.

Also, to the FIOC faggot >>16, do you honestly think that CPython, IronPython, or any other Python will generate SSE instructions for those functions? They do not. Instead you will end up with a bunch of shitty FIOC table lookups to infer types at runtime, and scalar code hidden behind multiple layers of function invocations.

Fucking faggots the lot of you.

Name: Anonymous 2011-08-03 11:41

>>23
blazing fast
in reality 30-75x slower than C/C++ in single-threaded, 100-200x slower at 4-core multi-threading than C/C++

http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List