Live data from Hacker News

Viewing profile — stassats

stassats

HN member
Joined
Tue, Jan 29, 2008, 10:50 PM UTC
HN karma
175
Public activity
67 items

About stassats

No profile information was provided.

Recent public activity

  1. comment
    Comment #47152370

    I did that to write simd routines for sbcl: https://github.com/sbcl/sbcl/blob/master/src/code/arm64-simd... Probably the best way of writing assembly, can evaluate the function imm…

  2. comment
    Comment #47151941

    Still 40 years to go.

  3. comment
    Comment #47151935

    I have also seen some outright crashes on the new GC.

  4. comment
    Comment #46126726

    The tricks to avoid multiplication (and division) are probably worth a whole post. x * 6: lea eax, [rdi+rdi*2] add eax, eax x * 7: lea eax, [0+rdi*8] sub eax, edi x * 11: lea eax, …

  5. comment
    Comment #46121781

    The text mentions that it can also do multiplication but doesn't expand on that. E.g. for x * 5 gcc issues lea eax, [rdi+rdi*4].

  6. comment
    Comment #45797612

    ABCL is really slow.

  7. comment
    Comment #45432906

    A good strategy if you don't care about fixing bugs.

  8. comment
    Comment #45387289

    That shouldn't mean that it doesn't return a NaN. Things are generally not optimized away because of NaNs. E.g. in GCC, abs(c) > -1.0 is not folded, unless building with -ffast-mat…

  9. comment
    Comment #45385550

    That fix has limited applicability. x * x is also a non-negative float. But abs(x * x) is not optimized. Or abs(abs(x)+1). GCC, for example, does know that.

  10. comment
    Comment #45110309

    (+ 2 (id "2")) may also produce a compile time warning. Nothing precludes from having a special rule for that. Like (+ 2 (print "2")) does warn.

  11. comment
    Comment #44856580

    > changes in the Qt project made the technique used by the Qt4 bindings impractical for Qt5 or Qt6 - at least that was my understanding when I looked into it. It was hard to do rea…

  12. comment
    Comment #44560898

    > Why does SBCL not use LLVM? Why doesn't GCC use LLVM? Why is Zig writing their own backend?

  13. comment
    Comment #44382157

    > lack of tail-call elimination But lisp doesn't need TCO.

  14. comment
    Comment #44143364

    You can turn them back into rationals, (rational (sqrt 2d0)) => 6369051672525773/4503599627370496 Or write your own operations that compute to the precision you want.

  15. comment
    Comment #43869560

    >(safety 0) Please, don't do that!

  16. comment
    Comment #43223818

    >any system that relies on information that was typed into a REPL three-months ago and is now only stored in the binary state of that REPL and nowhere else is totally insane as a p…

  17. comment
    Comment #42627111

    > roadrunner is petaflops of FP32 Isn't it actually FP64?

  18. comment
    Comment #42587931

    Using EAX is one byte shorter, so it might be doing that inadvertently.

  19. comment
    Comment #42242483

    Common Lisp. The dynamic-extent declaration allows for stack allocation.

  20. comment
    Comment #42199491

    > because 64-bit ARMv8.0 lacks a POPCNT instruction It does have this: https://developer.arm.com/documentation/ddi0596/2021-09/SIMD... And GCC happily uses it https://godbolt.org/z…

  21. comment
    Comment #41293326

    There's M-:

  22. comment
    Comment #37114745

    CNT on arm64 counts 8 or 16-bit elements too.

  23. comment
    Comment #36109504

    SYS:WITHOUT-GCING is better but is still fraught with danger (that's why I didn't mention it).

  24. comment
    Comment #36109260

    That's not related to garbage collection.

  25. comment
    Comment #36109244

    That's a recipe for disaster. Never do that.