Viewing profile — stassats
stassats
HN member- Joined
- Tue, Jan 29, 2008, 10:50 PM UTC
- HN karma
- 175
- Public activity
- 67 items
- HN profile
- View on Hacker News ↗
About stassats
No profile information was provided.
Recent public activity
-
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…
-
comment
Comment #47151941
Still 40 years to go.
-
comment
Comment #47151935
I have also seen some outright crashes on the new GC.
-
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, …
-
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].
-
comment
Comment #45797612
ABCL is really slow.
-
comment
Comment #45432906
A good strategy if you don't care about fixing bugs.
-
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…
-
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.
-
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.
-
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…
-
comment
Comment #44560898
> Why does SBCL not use LLVM? Why doesn't GCC use LLVM? Why is Zig writing their own backend?
-
comment
Comment #44382157
> lack of tail-call elimination But lisp doesn't need TCO.
-
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.
-
comment
Comment #43869560
>(safety 0) Please, don't do that!
-
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…
-
comment
Comment #42627111
> roadrunner is petaflops of FP32 Isn't it actually FP64?
-
comment
Comment #42587931
Using EAX is one byte shorter, so it might be doing that inadvertently.
-
comment
Comment #42242483
Common Lisp. The dynamic-extent declaration allows for stack allocation.
-
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…
-
comment
Comment #41293326
There's M-:
-
comment
Comment #37114745
CNT on arm64 counts 8 or 16-bit elements too.
-
comment
Comment #36109504
SYS:WITHOUT-GCING is better but is still fraught with danger (that's why I didn't mention it).
-
comment
Comment #36109260
That's not related to garbage collection.
-
comment
Comment #36109244
That's a recipe for disaster. Never do that.